2016-02-25 56 views
1

TL; DR:如果行時間戳存在,是否可以更新?更新HBase中存在的行的時間戳

是否有可能使HBase以LRU方式運行?我的意思是,如果HBase中存在一行,我想更新它的時間戳

我知道我可以調用一個創建數據,如果它不存在(如this),但我正在尋找相反的,如果數據確實存在,更新數據(特別是時間戳)

想要這樣做的原因是我正在使用HBase作爲URL及其內容的緩存的組件,這種方式當新請求對於URL到達,我想檢查內容是否已經存在,如果是,我想更新它的時間戳,否則內容不存在,我想要去實際獲取它。我需要的時間戳的原因是這個程序的另一端,我有一個組件讀取所有在最後一天到達的URL,這就是爲什麼我還需要更新此時間戳

在此先感謝

+0

聽起來就像['checkAndMutate']的情況下(https://hbase.apache.org/devapidocs /org/apache/hadoop/hbase/client/HTable.html#checkAndMutate(byte [],%20byte [],%20byte [],%20org.apache.hadoop.hbase.filter.CompareFilter.CompareOp,%20byte [] ,%20org.apache.hadoop.hbase.client.RowMutations))。它應該可以在'hbase' 0.98.7+ – Shyam

+0

@Shyam有沒有一種方法來更新時間戳,而無需先使用get來獲取值然後使用另一個put? – Gideon

+0

另外checkAndMutate檢查一行中的特定值,但我只想知道該行是否存在 – Gideon

回答

0

這是這麼長時間,因爲我張貼了這個問題,但我想我至少會接受什麼樣的我最終使用(即使它是不是我所希望使用)

我最終只是發送GET然後把時間戳自動增加