我们计划使用hbase rest api来执行对hbase表的插入,并想知道是否有一种方法可以在单个调用中将多个列插入到单个列族中,甚至是多个列族中。
否则,当我们计划为特定记录(行)插入关于100+列时,这会导致我们对单个行条目进行100+调用
发布于 2019-02-13 21:51:20
可以在单个PUT操作中为单个/多个列族插入多个列。--data
有效负载包含key
和CellSet
,CellSet包含cf:columnname
的base64编码值,$
包含列值的base64编码值。
例如:
{ "Row":[
{
"key":"d3d3LnNvbWVzaXRlLmNvbQ==",
"Cell":[
{
"column":"QXV0aG9yczp0ZXN0MQ==", // It can be cf1:name
"$":"c29tZURhdGE="
},
{
"column":"QXV0aG9yczp0ZXN0Mg==", // It can be cf2:address
"$":"bW9yZURhdGE="
}
]
}
]
}
最后的curl命令将如下所示:
curl -vi -X PUT \
-H "Accept: text/json" \
-H "Content-Type: text/json" \
-d '{"Row":[{"key":"d3d3LnNvbWVzaXRlLmNvbQ==","Cell":[{"column":"QXV0aG9yczp0ZXN0MQ==","$":"c29tZURhdGE="},{"column":"QXV0aG9yczp0ZXN0Mg==","$":"bW9yZURhdGE="}]}]}' \
"localhost:20550/table/rowkey"
https://stackoverflow.com/questions/54678034
复制