【发布时间】:2017-10-07 16:47:06
【问题描述】:
我设计了 HBase 表,其中我的 rowkey 被驱动到我需要在其上运行的查询。遵循最佳实践,我将一个散列部分作为我的行键的前缀,试图在我的表区域中尽可能统一地分布行。
我担心以下情况:
我的 HBase 表中有数十亿行分为 3 个区域。我正在使用此表为 REST API 提供数据,因此,它需要尽可能快地提供行。
不幸的是,我遇到了著名的超时错误Failed to get result within timeout, timeout=60000ms,即使我在 hbase shell 中调用count "table_name" 或任何其他扫描(包括startrow 和stoprow 参数)。似乎使用范围扫描rowkey 正在扫描整个 hbase 表。
考虑到这种情况,我想问两个问题:
1) 有没有什么策略可以在不遇到超时错误的情况下真正尽可能快地检索行范围?我真的很感谢这里的任何指示。
2) 由于我是 HBase 的新手,考虑到搜索实际上是按行键范围进行扫描,您认为 HBase 是向 REST API 提供快速检索数据的最佳或至少足够的解决方案吗?
【问题讨论】:
标签: hbase