有多种方法可以为HBase表添加数据:
put
命令来插入数据。例如,要为表myTable
插入数据,可以使用以下命令:put 'myTable', 'rowKey1', 'columnFamily:columnQualifier1', 'value1'
put 'myTable', 'rowKey2', 'columnFamily:columnQualifier2', 'value2'
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.client.Connection;
import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.util.Bytes;
public class HBaseExample {
public static void main(String[] args) throws Exception {
// 创建HBase连接
Configuration conf = HBaseConfiguration.create();
Connection connection = ConnectionFactory.createConnection(conf);
// 获取表对象
TableName tableName = TableName.valueOf("myTable");
Table table = connection.getTable(tableName);
// 创建Put对象,并设置行键和列值
Put put = new Put(Bytes.toBytes("rowKey1"));
put.addColumn(Bytes.toBytes("columnFamily"), Bytes.toBytes("columnQualifier1"), Bytes.toBytes("value1"));
// 插入数据
table.put(put);
// 关闭连接
table.close();
connection.close();
}
}
这里的myTable
是表名,rowKey1
是行键,columnFamily
是列族,columnQualifier1
是列限定符,value1
是要插入的值。
curl -vi -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
--data '{
"Row": [
{
"key": "cm93S2V5MQ==",
"Cell": [
{
"column": "Y29sdW1uRmFtaWx5OmNvbHVtblF1YWxpZmllcjE=",
"$": "dmFsdWUx"
}
]
}
]
}' \
"http://localhost:8080/myTable/rowKey1"
这里的myTable
是表名,rowKey1
是行键,columnFamily:columnQualifier1
是列,value1
是要插入的值。
无论使用哪种方法,都需要确保HBase已正确安装和配置,并且表已经存在。