注意:它的前幾個小時,我已經開始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