微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HBase on AWS EMR 检索数据缓慢

如何解决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 是否是满足我们数据库需求的正确应用程序,但鉴于数据检索时间缓慢,我们正在远离它。

enter image description here

enter image description here

我知道其他大型行业参与者使用 HBase 来满足他们的需求,我想知道是否有人知道我们可以尝试哪些方法来优化性能?虽然这些时间并不可怕,但应用程序最终将需要放置数千个行键并为所有列检索数千个行键。鉴于我们目前看到的扩展,它无法满足我们的需求。

我对 HBase 等分布式 Nosql 技术的经验很少,因此我们不胜感激任何建议或帮助。

集群设置:

1 Master node,3 Core nodes
m4.large instances

我们尝试过的事情:

  1. 调整列族数量
  2. 使用 HDFS 而不是 s3 作为数据存储区

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。