Java 向 HBase 插入数据实战

Java 向 HBase 插入数据实战

一、Put 的底层含义

(RowKey, ColumnFamily:Qualifier, Timestamp) -> Value

Put ≠ 插入一行,而是插入 Cell


二、插入数据前的准备

Table table = HBaseConnectionUtil
        .getConnection()
        .getTable(TableName.valueOf("student"));

三、插入单条数据(逐行讲解)

Put put = new Put("001".getBytes());

// info:name
put.addColumn(
        "info".getBytes(),
        "name".getBytes(),
        "Alice".getBytes()
);

// info:age
put.addColumn(
        "info".getBytes(),
        "age".getBytes(),
        "20".getBytes()
);

// score:math
put.addColumn(
        "score".getBytes(),
        "math".getBytes(),
        "95".getBytes()
);

table.put(put);
table.close();

四、批量插入(性能关键)

List<Put> puts = new ArrayList<>();

for (int i = 1; i <= 1000; i++) {
    Put p = new Put(("row" + i).getBytes());
    p.addColumn("info".getBytes(), "name".getBytes(),
            ("user" + i).getBytes());
    puts.add(p);
}

table.put(puts);

批量 Put 能极大减少 RPC 次数


posted @ 2025-10-21 15:55  元始天尊123  阅读(5)  评论(0)    收藏  举报