减少Spark和HBase节点之间的延迟

时间:2016-01-28 17:32:54

标签: apache-spark hbase latency

我在Spark节点和HBase节点之间遇到高延迟。 我目前的资源要求我在不同的服务器上运行HBase和Spark。

使用Snappy算法压缩HFile,将每个区域的数据大小从50GB减少到10GB。

尽管如此,在线上传输的数据总是被解压缩,因此读取需要花费大量时间 - 大约每秒20 MB ,每个50GB 约45分钟区域。

我可以做些什么来加快数据阅读速度? (或者,HBase目前的吞吐量是否很高?)

我正在考虑将HBase HFiles本地克隆到Spark机器,而不是连续地从HBase请求数据。有可能吗?

解决此类问题的最佳做法是什么?

由于

1 个答案:

答案 0 :(得分:1)

你正在思考正确的方向。您可以将HFile复制到运行spark的HDFS群集(或机器)。这将导致节省减压并减少通过线路的数据传输。您需要从Snappy压缩中读取HFiles并编写解析器以进行读取。

或者,如果您不需要Hbase中的所有数据,则可以应用Column和ColumnFamily过滤器。