HBase update operation

后端 未结 2 2023
没有蜡笔的小新
没有蜡笔的小新 2021-02-05 23:57
  1. I am new to HBase, I find in HBase client API, update operation is not supported? Is that correct?
  2. If so, what is the suggested best practices to update the value
相关标签:
2条回答
  • 2021-02-06 00:24

    You can use PUT which will create or update the value of any cell. You don't need to use delete unless you want the new version to not have some of the old cells .

    say we have

    r1:f1:c1:value1
    r1:f1:c2:value2 
    

    you can put r1:f1:c1 new value and you'd get:

    r1:f1:c1:new value 
    r1:f1:c2:value2 
    

    Note that actually each cell is stored as rowkey, column family, cell, timestamp, version and value. So depending on how you set versioning (per column family) you can also access the old values including doing a point in time query to see deleted values.

    0 讨论(0)
  • 2021-02-06 00:24

    I think what you want to do is perform a Put operation. You can look at the HBase's Put API client docs as well as this blog post titled: Java Example Code using HBase Data Model Operations for some examples, and descriptions of the operations.

    To update a row, you will have to issue a sequence of "Delete" and "Put", in a single Mutation, so they are seen as an update externally.

    See the Class RowMutations documentation on how to build such a call.

    0 讨论(0)
提交回复
热议问题