我想用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. cudaMemcpy替换现有值?
- 2. InsertIfMissing中的NuGet Web.config.install.xdt替换现有值
- 3. 替换列值
- 4. 替换列值
- 5. 用小数值替换列中的值
- 6. Python没有替换列表中的值
- 7. Groovy:用修改后的值替换列表中的所有值
- 8. 替换现有NSView的NSResponder
- 9. 替换列表中的值
- 10. 使用字典来替换列表中的值?
- 11. 用于替换表中的现有值的SQL Server语法
- 12. 用相同的值替换现有的记录
- 13. 如何用iOS中的id替换现有的值?
- 14. 熊猫用列表替换列值
- 15. awk用其散列值替换列
- 16. 使用Python替换列表中的值
- 17. 用列中的值替换部分URL
- 18. 用'0'替换列表中的值
- 19. 使用htmlagility包来替换src值
- 20. 在AngularJS中用数组中的现有值替换对象
- 21. 如何通过使用键和值的散列来搜索和替换(替代)
- 22. 正则表达式来替换字符串中的现金值
- 23. TypeScript:替换现有类型
- 24. Excel - 用另一列中的值替换一列中的值
- 25. Python熊猫。列替换值
- 26. 散列表替换值
- 27. REGEXP_REPLACE用单个语句中的值列表替换值列表
- 28. 用新数据替换现有数据
- 29. PHP:用现有唯一值替换数组索引键
- 30. 删除现有生产线在httpd.conf用新值替换
谢谢你们..问题是与时间戳..我不得不使用相同的时间戳,因为它是有一排..它现在已经取代列值.. – tousif 2013-03-15 05:11:15