在MapReduce

时间:2016-05-30 13:21:48

标签: hadoop mapreduce hbase hdfs

情景:

我分析数TB的数据并在其上进行一些文本挖掘并将数据存储到HDFS文件中。然后,为了查询数据,我们将这些数据导入Hive。

但是,我们还需要对增量数据执行一些更新操作。例如,如果新旧数据中存在相同的rowkey,则更新数据而不是插入。

目前我正在使用HDFS进行上述操作。现在我想通过读/写操作进入HBase。

我想知道这种方法的性能优缺点 与HDFS相比,使用HBase读/写MapReduce。

1 个答案:

答案 0 :(得分:0)

优点(使用HBase作为数据存储):

  • 使用灵活的数据模型,数据由行键索引。
  • 快速扫描表格。
  • 从大型数据中低延迟访问少量数据 组。您可以从十亿行表中快速访问单行。
  • 对于小型更新,它更好,因为您可以扫描和更新 而不是追加(HDFS的情况)。

缺点(使用HBase作为数据存储):

  • 您需要执行批量加载才能加载批量数据(tera 在你的情况下。)
  • 使用批量加载将跳过WAL(存在数据丢失的风险)。
  • 如果您没有为数据加载执行批量加载,速度会 降低。

我希望我已经回答了你的问题。 如果我错了,请纠正我