注意:几个小时前,我开始使用 HBase 并且我来自 RDBMS 背景:P
我有一个类似 RDBMS 的表 CUSTOMERS 具有以下列:
我想到了以下 HBase 等效项:
表:客户行键:客户 ID
列族:CUSTOMER_INFO
列:姓名电子邮件地址移动
从我读过的内容来看,RDBMS 表中的主键大致类似于HBase 表的行键。因此,我想保留 CUSTOMER_ID 作为行键。
我的问题既愚蠢又直接:
* * *编辑添加示例代码片段
我只是想在 shell 中使用“put”为客户表创建一行。我这样做了:
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','Prachi.Shah@lntinfotech.com'
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','Omkar.Joshi@lntinfotech.com'
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, value=Omkar.Joshi@lntinfotech.com
CUSTID12345 column=CUSTOMER_INFO:NAME, timestamp=1365600052104, value=Omkar Joshi
1 row(s) in 0.0230 seconds
Run Code Online (Sandbox Code Playgroud)
由于投入需要最大。5 个参数,我无法弄清楚如何在一个 put 命令中插入整行。这导致了不需要的同一行的增量版本,我不确定是否将 CUSTOMER_ID 用作行键!感谢致敬 !
归档时间: |
|
查看次数: |
15433 次 |
最近记录: |