我在Hbase中有一个名为'xyz'的表。当我对此表执行更新操作时,即使它是同一记录,它也会更新一个表。
如何控制第二条记录不被添加。
例如:
create 'ns:xyz',{NAME=>'cf1',VERSIONS => 5}
put 'ns:xyz','1','cf1:name','NewYork'
put 'ns:xyz','1','cf1:name','NewYork'
如果我检查所有版本,上述put语句将给出2条具有不同时间戳的记录。我希望它不应该添加第二条记录,因为它具有相同的值
答案 0 :(得分:0)
HBase不会遍历整个行并确定是否与要添加的数据相同。这将是一个昂贵的操作,并且HBase以其快速的插入速度而自豪。
如果您真的很想这样做(我想问您是否真的想这样做),则应该首先执行GET来查看表中是否已经存在数据。
您还可以编写一个协处理器,以在每次输入PUT数据时执行此操作,但同样会降低性能。
答案 1 :(得分:0)