我是hbase的新手。您能告诉我如何将列添加到列族中。我有这样的数据:
{
name: abc
addres: xyz
}
我与列家人进行了表格测试。如何将姓名和地址作为列添加到此人。请在hbase命令行以及java中显示。
答案 0 :(得分:15)
HBase Shell:
来自Hbase shell wiki:http://wiki.apache.org/hadoop/Hbase/Shell
将单元格'value'放在指定的表/行/列和可选的时间戳坐标上。要将单元格值放入标有时间'ts1'的列'c1'下'r1'行的表't1',请执行:
hbase> put 't1', 'r1', 'c1', 'value', ts1
在你的情况下是这样的:
hbase> put 'test', 'yourRow', 'person:name', 'abc'
hbase> put 'test', 'yourRow', 'person:address', 'xyz'
在Java中:
Configuration config = HBaseConfiguration.create();
HTable table = new HTable(config, "test");
Put p = new Put(Bytes.toBytes("yourRow"));
p.add(Bytes.toBytes("person"), Bytes.toBytes("name"),
Bytes.toBytes("abc"));
table.put(p);
答案 1 :(得分:6)
JP Bond为您提供了所需的示例代码 - 我只是想补充说HBase的一个好处是因为它很稀疏(即不为没有值的行保留列空间)。此设计决策的一个特性是您可以通过编写来创建新列(列族+限定符)。