How to update records in HBase?

To update a record in HBase, you need to use the Put operation to update the data in the specified row and column family. Here are the steps for updating a record:

  1. Create a Put object and specify the row key that you want to update.
Put put = new Put(Bytes.toBytes("row1"));
  1. Use the addColumn method to add the column family, column, and value that you want to update.
put.addColumn(Bytes.toBytes("columnFamily"), Bytes.toBytes("column"), Bytes.toBytes("value"));
  1. Use the put method of the Table object to perform updates.
Table table = connection.getTable(TableName.valueOf("tableName"));
table.put(put);

An example of complete update history is shown below:

import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Table;
import org.apache.hadoop.hbase.util.Bytes;

public class HBaseUpdateExample {
    public static void main(String[] args) {
        try {
            // 创建HBase连接
            Connection connection = ConnectionFactory.createConnection();

            // 创建Put对象,并指定要更新的行键
            Put put = new Put(Bytes.toBytes("row1"));

            // 添加要更新的列族、列和值
            put.addColumn(Bytes.toBytes("columnFamily"), Bytes.toBytes("column"), Bytes.toBytes("value"));

            // 获取表对象
            Table table = connection.getTable(TableName.valueOf("tableName"));

            // 执行更新操作
            table.put(put);

            // 关闭连接
            table.close();
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Please note that the “tableName”, “row1”, “columnFamily”, and “column” in the example code above should be replaced with the actual names accordingly.

bannerAds