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 次数

浙公网安备 33010602011771号