我在星火节点和HBase节点之间经历了很高的延迟。当前的资源要求我在不同的服务器上运行HBase和Spark。
使用Snappy算法对HFiles进行压缩,将每个区域的数据大小从50 to减少到10 to。
然而,在有线上传输的数据总是被解压缩的,所以读取需要花费大量的时间--大约是每秒20 MB的,即每50 MB区域的大约45分钟。
我能做些什么使数据读取更快?(或者,对于HBase来说,当前的吞吐量是否很高?)
我想在本地将HBase HFiles克隆到火花机,而不是不断地从HBase请求数据。有可能吗?
解决这一问题的最佳做法是什么?
谢谢
发布于 2017-07-30 07:41:53
你的思维方向是正确的。您可以将HFiles复制到运行spark的HDFS集群(或机器)。这将节省解压缩和减少通过有线的数据传输。您需要从Snappy压缩中读取HFiles,并编写一个解析器来读取。
或者,如果不需要来自Hbase的所有数据,则可以应用列和ColumnFamily过滤器。
https://stackoverflow.com/questions/35068146
复制相似问题