How to add data to a table in HBase? HBaseテーブルにデータを追加する方法は?
HBaseテーブルにデータを追加する方法はいくつかあります。
- 置く
- 私のテーブル(updated)
put 'myTable', 'rowKey1', 'columnFamily:columnQualifier1', 'value1'
put 'myTable', 'rowKey2', 'columnFamily:columnQualifier2', 'value2'
- Java APIを使用すると、HBaseのJava APIを使用してデータを挿入するコードを記述することができます。以下は、簡単な例です:
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は挿入する値です。
- HBaseのREST APIを使用すると、データを挿入することができます。POSTリクエストをREST APIに送信することで、データをJSONオブジェクトとしてHBaseに送信できます。以下は例です:
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が正しくインストールされていて、適切に設定されていて、テーブルが存在していることを確認する必要があります。