如何解决HBase on AWS EMR 检索数据缓慢
我正在运行一个安装了 HBase 的 AWS EMR 集群,我遵循 these instructions 使用 s3 作为 Hbase 数据存储来设置集群。集群已启动并正在运行,我可以通过 ssh 进入并使用 hbase shell
,没有任何问题。
我们尝试存储的数据是基因组数据,而且非常广泛。对于每个行键,最多可以有 250,000 个列键。我们尝试了不同数量的列族,从将 1 个列族中的所有键分组到使用 42 个不同的列族,其中列键分布在它们之间。
为了与 Hbase 交互,我们在 python 中使用 happybase
,它使用 thrift
与主节点通信。检索单个行键时,返回结果大约需要 2.7 秒。我期望此类操作的数据检索时间为 ms。取回时。我们的配置非常简单,没有做额外的优化。我们正在尝试确定 Hbase 是否是满足我们数据库需求的正确应用程序,但鉴于数据检索时间缓慢,我们正在远离它。
我知道其他大型行业参与者使用 HBase 来满足他们的需求,我想知道是否有人知道我们可以尝试哪些方法来优化性能?虽然这些时间并不可怕,但应用程序最终将需要放置数千个行键并为所有列检索数千个行键。鉴于我们目前看到的扩展,它无法满足我们的需求。
我对 HBase 等分布式 Nosql 技术的经验很少,因此我们不胜感激任何建议或帮助。
集群设置:
1 Master node,3 Core nodes
m4.large instances
我们尝试过的事情:
- 调整列族数量
- 使用 HDFS 而不是 s3 作为数据存储区
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。