2016-11-14 92 views

回答

1
  • 如何獲得最後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性能負載。

注:雖然我已經回答了我的問題,我仍然保持這個線程 開放從別人那裏得到更好的答案。