如何在hbase中向列族添加列

时间:2012-09-12 21:03:17

标签: java command-line hbase

我是hbase的新手。您能告诉我如何将列添加到列族中。我有这样的数据:

{
name: abc
addres: xyz
}

我与列家人进行了表格测试。如何将姓名和地址作为列添加到此人。请在hbase命令行以及java中显示。

2 个答案:

答案 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的一个好处是因为它很稀疏(即不为没有值的行保留列空间)。此设计决策的一个特性是您可以通过编写来创建新列(列族+限定符)。