0
在一個大的hbase事務表中有很多記錄。如何從hbase表(最近n小時)獲取最新樣本記錄?
從HBase的外殼:
如何獲得最後6 小時更新其插入一個樣本記錄/?
是否有可能在上一次 6小時內得到插入/更新記錄的計數?
在一個大的hbase事務表中有很多記錄。如何從hbase表(最近n小時)獲取最新樣本記錄?
從HBase的外殼:
如何獲得最後6 小時更新其插入一個樣本記錄/?
是否有可能在上一次 6小時內得到插入/更新記錄的計數?
如何獲得最後6小時更新其插入一個樣本記錄/?
以下查詢從最近6小時插入/更新的hbase表中獲取樣本記錄。
scan 'my.table', { LIMIT =>1, TIMERANGE => [(Time.now.to_f.round()*1000).to_i-21600000, (Time.now.to_f.round()*1000).to_i]}
是否有可能得到的插入/更新的記錄在最後6小時算?基於該SO回答
:Count number of records in a column family in an HBase table
# count_table 'test.table', { CACHE => 1000 }
# --- Count rows with caching.
#
def count_table(tablename, args = {})
table = @shell.hbase_table(tablename)
# Run the scanner
scanner = table._get_scanner(args)
count = 0
iter = scanner.iterator
# Iterate results
while iter.hasNext
row = iter.next
count += 1
end
# Return the counter
return count
end
查詢:
count_table 'my.table', { TIMERANGE => [(Time.now.to_f.round()*1000).to_i-21600000, (Time.now.to_f.round()*1000).to_i] , CACHE => 10000000}
上述查詢得到的插入/更新的記錄數在過去的6個小時。
它返回所需的結果,但尚未測試w.r.t性能負載。
注:雖然我已經回答了我的問題,我仍然保持這個線程 開放從別人那裏得到更好的答案。