注意:它的前几个小时,我已经开始HBase的,我来自一个RDBMS背景:PHBase的 - rowkey基础
我有具有下列的RDBMS样CUSTOMERS表:
- CUSTOMER_ID STRING
- CUSTOMER_NAME STRING
- CUSTOMER_EMAIL STRING
- CUSTOMER_ADDRESS STRING
- CUSTOMER_MO胆汁STRING
我已经想好了下面的HBase等价的:
表:客户rowkey:CUSTOMER_ID
列族:CUSTOMER_INFO
列:姓名电子邮件地址MOBILE
从我读过的任何东西,主键在n RDBMS表是大致类似于到HBase表的rowkey。因此,我想保留CUSTOMER_ID作为rowkey。
我的问题是愚蠢的和直接的:
- 无论我是否使用shell命令或HBaseAdmin的java类 ,我怎么定义rowkey?我没发现什么做 无论是在外壳或HBaseAdmin类
- 给定一个HBase的表(如 HBaseAdmin.createSuperKey(...)的一些东西),如何确定rowkey细节,即这是用作rowkey的值?
- 据我所知,rowkey设计是一件至关重要的事情。假设客户ID接收到CUST_12345,CUST_34434等值,HBase如何使用rowkey决定特定行所在的区域(假设区域概念与DB水平分区类似)?
* * *编辑补充示例代码段
我只是想创建一个使用在shell“把”为客户表中的一行。我这样做:
hbase(main):011:0> put 'CUSTOMERS', 'CUSTID12345', 'CUSTOMER_INFO:NAME','Omkar Joshi'
0 row(s) in 0.1030 seconds
hbase(main):012:0> scan 'CUSTOMERS'
ROW COLUMN+CELL
CUSTID12345 column=CUSTOMER_INFO:NAME, timestamp=1365600052104, value=Omkar Joshi
1 row(s) in 0.0500 seconds
hbase(main):013:0> put 'CUSTOMERS', 'CUSTID614', 'CUSTOMER_INFO:NAME','Prachi Shah', 'CUSTOMER_INFO:EMAIL','[email protected]'
ERROR: wrong number of arguments (6 for 5)
Here is some help for this command:
Put a cell 'value' at specified table/row/column and optionally
timestamp coordinates. To put a cell value into table 't1' at
row 'r1' under column 'c1' marked with the time 'ts1', do:
hbase> put 't1', 'r1', 'c1', 'value', ts1
hbase(main):014:0> put 'CUSTOMERS', 'CUSTID12345', 'CUSTOMER_INFO:EMAIL','[email protected]'
0 row(s) in 0.0160 seconds
hbase(main):015:0>
hbase(main):016:0* scan 'CUSTOMERS'
ROW COLUMN+CELL
CUSTID12345 column=CUSTOMER_INFO:EMAIL, timestamp=1365600369284, [email protected]
CUSTID12345 column=CUSTOMER_INFO:NAME, timestamp=1365600052104, value=Omkar Joshi
1 row(s) in 0.0230 seconds
由于把最大的花费。 5个参数,我无法弄清楚如何在一个放置命令中插入整行。这导致相同行的增量版本不是必需的,我不确定CUSTOMER_ID是否被用作rowkey! 谢谢,问候!
嗨嫩, 感谢您的答复!我详细阐述了我的问题,以便更清楚我不清楚的内容:D 感谢和问候! – 2013-04-10 08:08:36
据我所知,你不能在hbase shell中插入多个列。你可以通过客户端API http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/RowMutations.html来做到这一点(它仍然是多个投入) – 2013-04-10 08:54:04
这就是我害怕的: 你能清除我的rowkey疑问吗? – 2013-04-10 09:17:33