2013-08-22 21 views
0

我有一個包含數百萬條記錄的HBase表。出於某種目的,我需要實時查詢表中的記錄數。實時查找HBase表的行數(毫秒)

  1. 使用rowcount MR作業不是一個選項。 (需要它很快)
  2. 使用ResultScanner速度很慢。只有幾千條記錄需要幾秒鐘的時間。

回答

0

您不能 - HBase不支持此功能。您可以使用Tariq的建議,但您應該記住HBase中沒有交叉表交易,因此不能保證您在一箇中累積的數字反映了其他行中的確切行數

+0

有一種將更多行添加到我正在談論的表中的機制。其實我並沒有完全理解你提到的交叉表交易。你是否意味着行可能會得到額外的行,而我沒有注意到它? –

+0

如果在一個表中添加一行時,還會增加另一個表中的計數器,並在更新之間崩潰HBase不保證兩個更新一起成功或失敗(兩個更新沒有事務) –

+0

感謝Arnon。我認爲這個解決方案和塔裏克的解決方案都差不多。我會檢查他們。 –

0

唯一的方法,使其絕對實時是保持一個行數的軌道,並將其存儲在某個地方。每當你把新行更新它。然後在需要時提供。如果真的需要實時性,上述兩個指定選項都不會對您有所幫助。

+0

謝謝 - 我會嘗試這個建議。 –