AWS EMR上的HBase检索数据速度慢

2024-10-03 04:33:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个安装了HBase的AWS EMR集群,我按照these instructions使用s3作为HBase数据存储来设置集群。集群已经启动并正在运行,我能够通过ssh连接并使用hbase shell而没有任何问题

我们试图存储的数据是基因组数据,而且非常广泛。对于每个行键,最多可以有250000个列键。我们尝试了不同数量的列族,从将所有键分组到一个列族,再到使用42个不同的列族,其中列键分布在这些列族之间

为了与Hbase交互,我们在python中使用happybase,它使用thrift与主节点通信。检索单行键时,返回结果大约需要2.7秒。我预计这种类型的操作需要ms数据检索时间。检索时。我们的配置非常简单,没有额外的优化。我们正试图确定Hbase是否适合我们的数据库需求,但考虑到数据检索时间缓慢,我们正倾向于避开它

enter image description here

enter image description here

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

我对分布式NoSQL技术(如HBase)的经验很少,因此,如有任何建议或帮助,我将不胜感激

群集设置:

1 Master node, 3 Core nodes
m4.large instances

我们尝试过的事情:

  1. 调整列族的数量
  2. 使用HDFS代替s3作为数据存储

Tags: 数据aws数量s3时间集群hbase数据检索