我正在编写自定义HbaseSink以与Flume-NG 1.3.0一起使用,并且需要在同一行中执行具有多个列族的org.hbase.async.PutRequest。我没有看到构造函数或类似于Put.add(columnFamily,columnName,value)的任何内容。有人可以说明我应该如何做这件事吗?提前谢谢!
答案 0 :(得分: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哈希包含列名及其值。