hadoop - 将大量 reducer 输出写入 HBase

标签 hadoop hbase

我有一个 Hadoop MapReduce 作业,其输出是一个 row-id 以及对该 row-id 的 Put/Delete 操作。由于问题的性质,输出量相当大。我们尝试了几种方法将这些数据取回 HBase,但都失败了...

表格 reducer

这是减慢速度的方式,因为它似乎必须对每一行进行一次完整的往返。由于我们的 reducer 步骤的键排序方式,row-id 不太可能与 reducer 在同一节点上。

完成批量加载

这似乎需要很长时间(永远不会完成)并且没有真正说明原因。 IO 和 CPU 使用率都非常低。

我是否漏掉了一些明显的东西?

最佳答案

我从你对自己的回答中看到你解决了你的问题,但为了完整起见,我会提到还有另一种选择——直接写入 hbase。我们有一个设置,我们将数据流式传输到 HBase 中,并通过适当的键和区域拆分,每个节点每秒获得超过 15,000 条 1K 记录

关于hadoop - 将大量 reducer 输出写入 HBase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21742870/

相关文章:

hadoop - Spark-Streaming CustomReceiver 未知主机异常

python - 输出翻倍且出现故障

hadoop - 使用 HBASE MAP REDUCE API 将数据加载到 Hbase 表中

java - 使用HBase API(Java)使用过滤器进行扫描

hadoop - HBase是否拥有自己的结构化数据(在HDFS上)还是可以在HDFS上的非结构化数据上执行

hadoop - Apache Spark : Error on JavaSparkContext. 停止()

hadoop - INFO org.apache.hadoop.service.AbstractService : Service org. apache.hadoop.mapreduce.v2.hs.server.HSAd minServer 在状态 INITED 失败;

hadoop - Ambari安装脚本位置

java - SingleColumnValueFilter 对结果没有影响

hbase - 如何在zookeeper中查看连接数