使用不存在的 hbase 行键更新行?

Posted

技术标签:

【中文标题】使用不存在的 hbase 行键更新行?【英文标题】:Update the row with non existing rowkey for hbase? 【发布时间】:2016-12-14 06:22:44 【问题描述】:

据我了解,当我使用 put 等方法使用现有 rowkey 更新行时,我们会插入新版本的行,但是如果 rowkey 不存在,它仍然会插入新行。 我的要求是如果rowkey不存在,则不要插入新行。

hbase Java Client api怎么做?

【问题讨论】:

请阅读How do I ask a good question并相应地编辑您的问题,因为这将大大提高您获得好的答案的机会,并且不会让您的问题被否决或关闭。 【参考方案1】:

您可以使用checkAndPut(rowkey,family,qualifier,CompareFilter.CompareOp.NOT_EQUAL,null,put) 但它会检查行键中是否存在列,然后进行放置。

为了检查rowkey是否存在,先做一个get操作,检查是否存在,然后相应地进行put。

【讨论】:

如前所述,如果一列不存在,它不会做put。也不是基于假设。如果你想你可以看完整的代码。[链接]ideone.com/I1plTL 我认为你是对的。因此,在这种情况下,请将完整的代码示例放入您的答案中。 checkAndPut 正是我所需要的,非常感谢!

以上是关于使用不存在的 hbase 行键更新行?的主要内容,如果未能解决你的问题,请参考以下文章

HBase 数据模型及读写操作

Hbase学习笔记

HBase:原子“检查行不存在并创建”操作

Hbase 更新用例

如何设置开始和结束行键 HBASE

如何列出 hbase 表中的所有行键?