0

我正在编写用于 Flume-NG 1.3.0 的自定义 HbaseSink,并且需要org.hbase.async.PutRequest在同一行中执行多个列族。我没有看到构造函数或任何类似于Put.add(columnFamily, columnName, value).

有人可以阐明我应该如何去做吗?

4

1 回答 1

0

我也试图找到这个问题的解决方案,但找不到任何参考。所以这就是我在我的应用程序中所做的

`

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 哈希包含列名及其值。

于 2012-10-12T09:38:54.403 回答