Mapreduce 使用Get/Put更新/插入Hbase

Mapreduce 使用Get/Put更新/插入Hbase,mapreduce,hbase,Mapreduce,Hbase,有人能告诉我什么是满足我要求的最好方法吗 我有下面的 Hbase表 HDFS中的输入文件 我的要求如下 读取输入文件并获取密钥。使用键从中获取数据 Hbase 做一个比较来检查 如果比较失败,请插入 如果比较成功,则更新 我知道我可以使用get获取数据并将其写回。这是前进的最佳方式。我希望我将使用mapreduce,以便使进程并行运行。HBase有一个checkAndPut()和一个checkAndDelete()操作。如果您有期望的值,则可以执行put或delete(如果您不关心值,而只关心键

有人能告诉我什么是满足我要求的最好方法吗

我有下面的

  • Hbase表
  • HDFS中的输入文件
  • 我的要求如下

  • 读取输入文件并获取密钥。使用键从中获取数据 Hbase
  • 做一个比较来检查
  • 如果比较失败,请插入
  • 如果比较成功,则更新
  • 我知道我可以使用get获取数据并将其写回。这是前进的最佳方式。我希望我将使用mapreduce,以便使进程并行运行。

    HBase有一个checkAndPut()和一个checkAndDelete()操作。如果您有期望的值,则可以执行put或delete(如果您不关心值,而只关心键,则比较=否)。

    根据问题的大小,我实际上推荐一种稍微不同的方法。虽然在MapReduce作业中实现HBase puts可能是可行的,但这听起来像是一项相当复杂的任务

    我建议将HBase中的数据加载到MapReduce中,连接两个表,然后将它们导出回HBase。 使用Pig这将很容易实现。 看一看。 按照这个方法,您将加载这两个文件,加入它们,然后写回HBase。如果所有这些都是比较键,那么这可以在5行PigLatin中实现


    HTH

    谢谢您的评论。我对Hbase有点陌生,所以想知道是否将checkAndPut()放在mapreduce中,以防万一,如果你有任何链接,我可以参考,这也将是很大的帮助。