使用get/put更新/插入hbase

dhxwm5r4  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(307)

有谁能告诉我怎样才能满足我的要求。
我有下面的
hbase表
hdfs中的输入文件
我的要求如下
读取输入文件并获取密钥。使用key从hbase获取数据。
做一个比较来检查。
如果比较失败,请插入
如果比较成功,则更新。
我知道我可以用get来获取数据,然后把它写回去。这是前进的最佳方式吗?我希望我将使用mapreduce,以便使进程并行运行。

xggvc2p6

xggvc2p61#

hbase有一个checkandput()和一个checkanddelete()操作。如果您有期望的值,则可以执行put或delete操作(如果您不关心值,而只关心键,则compare=no\u op)。https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/htable.html

qacovj5a

qacovj5a2#

根据你的问题的大小,我实际上推荐一种稍微不同的方法。虽然在mapreduce作业中实现hbase可能是可行的,但这听起来是一项相当复杂的任务。
我建议将hbase中的数据加载到mapreduce中,连接两个表,然后将它们导出回hbase。使用pig这将是相当容易实现的。看一看Pig舍。按照这个方法,您将加载这两个文件,将它们连接起来,然后写回hbase。如果只需要比较按键,这可以用5行piglatin来实现。
hth公司

相关问题