带putrequest的多列族

slhcrj9b  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(198)

我正在编写一个用于flume ng1.3.0的自定义hbasink,需要执行 org.hbase.async.PutRequest 在同一行中包含多个列族。我没有看到一个构造函数或任何类似的 Put.add(columnFamily, columnName, value) .
有人能告诉我该怎么做吗?

kx7yvsdv

kx7yvsdv1#

我也试图找到这个问题的解决办法,但找不到任何参考。下面是我在申请表中所做的
`

public void addRecord(String tableName, String rowKey, String family, HashMap<String, String> hash) {
        try {
            HTable table = new HTable(conf, tableName);
            Put put = new Put(Bytes.toBytes(rowKey));

            Iterator<String> it = hash.keySet().iterator();
            while (it.hasNext()) {
                String key = it.next();
                String val = hash.get(key);
                put.add(Bytes.toBytes(family), Bytes.toBytes(key), Bytes.toBytes(val));
            }
            table.put(put);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }

`
这里,hashmap散列包含列名及其值。

相关问题