我設計了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的解決方案?