我在使用Hbase时有一个场景。最初我必须将csv文件批量上传到Hbase表。我可以通过使用Hbase批量加载来成功完成。 现在我想通过与提供的新csv进行比较来更新hbase表中的特定字段,如果更新了该值,则必须保持一个标记,表示rowkey已更新。任何提示我如何轻松地做到这一点。 任何帮助都非常感谢。
由于
答案 0 :(得分:0)
HBase维护每个单元格的版本。只要您拥有行键,就可以得到该行的句柄,您可以使用put来添加更新的列。在内部,它维护版本,您也可以访问更新值的历史记录。
然而,正如我所看到的,你也需要比较。所以在批量加载后你可以做到最快,使用map reduce,因为HBase作为源和接收器。在7.2.2部分查看here。 想法是让mapreduce执行扫描,在map中进行比较,并在输出中写入新的更新put。它就像一个基本的提取,修改和更新序列。但是我们正在处理大量数据时使用map reduce parallel功能