有多種方法可以為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已正確安裝和配置,并且表已經存在。