如何通过REST API获取表内容

时间:2018-11-27 14:01:46

标签: hbase

我想知道如何通过Hbase REST API获取表内容?

示例:如果我有表“ users”并且我想要所有用户,那么我将执行

scan "users" 

我如何通过REST Api做到这一点?

我在文档http://hbase.apache.org/book.html#_rest中找不到它吗?

1 个答案:

答案 0 :(得分:1)

您无法使用REST API直接查询整个表。
首先,您需要以批量大小调用/table/scanner,它将返回扫描仪ID。

接下来,将扫描程序ID传递到/table/scanner/<scanner-id>端点,每次调用时它将返回行数(=批量大小)

curl -vi -X PUT \
  -H "Accept: text/xml" \
  -H "Content-Type: text/xml" \
  -d '<Scanner batch="1"/>' \
  "http://example.com:8000/users/scanner/"

它将在HTTP响应中返回LOCATION作为扫描程序端点:http://example.com:8000/users/scanner/123

然后致电:

curl -vi -X GET \
  -H "Accept: text/xml" \
  "http://example.com:8000/users/scanner/123"

它将分批返回数据。