我有一個包含數百萬條記錄的HBase表。出於某種目的,我需要實時查詢表中的記錄數。實時查找HBase表的行數(毫秒)
- 使用rowcount MR作業不是一個選項。 (需要它很快)
- 使用ResultScanner速度很慢。只有幾千條記錄需要幾秒鐘的時間。
我有一個包含數百萬條記錄的HBase表。出於某種目的,我需要實時查詢表中的記錄數。實時查找HBase表的行數(毫秒)
您不能 - HBase不支持此功能。您可以使用Tariq的建議,但您應該記住HBase中沒有交叉表交易,因此不能保證您在一箇中累積的數字反映了其他行中的確切行數
唯一的方法,使其絕對實時是保持一個行數的軌道,並將其存儲在某個地方。每當你把新行更新它。然後在需要時提供。如果真的需要實時性,上述兩個指定選項都不會對您有所幫助。
謝謝 - 我會嘗試這個建議。 –
有一種將更多行添加到我正在談論的表中的機制。其實我並沒有完全理解你提到的交叉表交易。你是否意味着行可能會得到額外的行,而我沒有注意到它? –
如果在一個表中添加一行時,還會增加另一個表中的計數器,並在更新之間崩潰HBase不保證兩個更新一起成功或失敗(兩個更新沒有事務) –
感謝Arnon。我認爲這個解決方案和塔裏克的解決方案都差不多。我會檢查他們。 –