我想用put替換一行中的列的內容,但它是添加更新版本的數據。嘗試添加時間戳,但仍然創建不同版本的新值。 任何想法替換相同版本的內容?hbase用來替換現有的列值
2
A
回答
3
您確定您使用了正確的時間戳值嗎?
我已經爲你一個例子(HBase的殼):
首先,我們創建了一個名爲f1
一個列族名爲tmp1
檯面,可對每個電池三個版本:
hbase(main):005:0> create 'tmp1', {NAME => 'f1', VERSIONS => 3}
0 row(s) in 1.1160 seconds
接下來,我們把一排與價值v1
到表:
hbase(main):007:0> put 'tmp1', 'r1', 'f1:c1', 'v1', 1
0 row(s) in 0.0860 seconds
hbase(main):008:0> scan 'tmp1'
ROW COLUMN+CELL
r1 column=f1:c1, timestamp=1, value=v1
1 row(s) in 0.0390 seconds
然後,我們做的是另put
具有相同rowkey r1
,列名f1:c1
和時間戳1
,但有不同的價值v2
:
hbase(main):009:0> put 'tmp1', 'r1', 'f1:c1', 'v2', 1
0 row(s) in 0.0060 seconds
hbase(main):008:0> scan 'tmp1'
ROW COLUMN+CELL
r1 column=f1:c1, timestamp=1, value=v2
正如你所看到的,細胞已被替換爲新的價值v2
。
1
直出HBase的documentation的:
Put put = new Put(Bytes.toBytes(row));
long explicitTimeInMs = 555; // just an example
put.add(Bytes.toBytes("cf"), Bytes.toBytes("attr1"), explicitTimeInMs, Bytes.toBytes(data));
htable.put(put);
相關問題
- 1. HBase RowMutations來替換一行中的所有列
- 2. 替換列中所有出現的值
- 3. InsertIfMissing中的NuGet Web.config.install.xdt替換現有值
- 4. 替換列值
- 5. 替換列值
- 6. 用列的值替換每行的值?
- 7. SQL存儲過程 - 用現有表列中的值替換結果列
- 8. 用小數值替換列中的值
- 9. Python沒有替換列表中的值
- 10. 使用jQuery替換來自Url的值
- 11. MySQL - 替換列值
- 12. Groovy:用修改後的值替換列表中的所有值
- 13. gcutil addsnapshot替換現有的?
- 14. 替換現有NSView的NSResponder
- 15. 替換序列中的值
- 16. 替換列表中的值
- 17. 替換列表中的值
- 18. 使用字典來替換列表中的值?
- 19. 用相同的值替換現有的記錄
- 20. 用於替換表中的現有值的SQL Server語法
- 21. 如何用iOS中的id替換現有的值?
- 22. 如何用新的json替換現有的json值?
- 23. 有條件地將列值替換爲另一列的值perl
- 24. 熊貓用列表替換列值
- 25. awk用其散列值替換列
- 26. 使用htmlagility包來替換src值
- 27. 用列組的平均值替換NA
- 28. 用列中的值替換部分URL
- 29. 使用Python替換列表中的值
- 30. 替換值中的列引用
謝謝你們..問題是與時間戳..我不得不使用相同的時間戳,因爲它是有一排..它現在已經取代列值.. – tousif 2013-03-15 05:11:15