【发布时间】:2016-05-06 05:19:12
【问题描述】:
我在 Spark 节点和 HBase 节点之间遇到了高延迟。 我目前拥有的资源需要我在不同的服务器上运行 HBase 和 Spark。
HFiles 使用 Snappy 算法压缩,将每个区域的数据大小从 50GB 减少到 10GB。
尽管如此,通过网络传输的数据始终是解压缩的,因此读取需要很长时间 - 大约 20 MB/秒,即每 50GB 大约需要 45 分钟地区。
我可以做些什么来加快数据读取速度? (或者,HBase 的当前吞吐量是否被认为很高?)
我正在考虑将 HBase HFiles 本地克隆到 Spark 机器,而不是不断地从 HBase 请求数据。有可能吗?
解决此类问题的最佳做法是什么?
谢谢
【问题讨论】:
-
是从磁盘读取文件需要时间还是通过网络传输数据需要时间?请务必提及硬件/网络配置、集群配置以及您从 Spark 读取 Hbase 数据的方式。
-
通过网络传输数据需要时间。未从磁盘读取数据。 4 台 16 核 32GB RAM 服务器,10GBps 网络连接,每台服务器托管 16 个 Spark 工作器。集群是 Spark Standalone。使用标准 TableInputFormat 从 HBase 读取。
标签: apache-spark hbase latency