我设计了HBase表,我的rowkey
被驱动到我需要运行的查询。遵循最佳实践,我将一个散列部分作为我的rowkeys的前缀,试图在我的表区域尽可能均匀地分散行。在HBase中有效查询的策略
我担心以下情形:
我在3个区之间我的HBase的表拆分了数十亿行的。我使用此表为REST API提供数据,因此,它需要尽可能快地提供行。
不幸的是,我打了著名超时错误Failed to get result within timeout, timeout=60000ms
即使我调用要么count "table_name"
在HBase的外壳或任何其他的扫描,包括startrow
和stoprow
parameters.It似乎扫描使用rowkey
范围正在席卷整个HBase的表。
考虑到这种情况,我想请教两个问题:
1)是否有任何策略要真正检索行的范围内尽可能快地没有击中超时错误?我很欣赏这里的任何指针。
2)由于我是HBase的新手,考虑到搜索实际上是通过一系列rowkeys进行扫描,您认为HBase是最好还是至少可以提供快速检索数据到REST API的解决方案?