嗨,我正在尝试构建REST来公开驻留在HBase中的数据。为了简单起见,我使用的是内置在HBase REST中的API.I,下面是来自api.html的文档。我为搜索实用程序创建了一个API,它使用Rowkey。但我坚持认为,我剩下的API需要基于列值的搜索。文档提出了一些步骤,但我无法使用it.And,没有其他可用的来源。我发现在HBase Java中有一些筛选选项,比如带有substringComaparator等实用工具的单值过滤器。就像这样,我是否可以在HBase REST中应用过滤器?
发布于 2016-09-14 11:04:31
您粘贴的链接展示了如何使用扫描仪:
curl -vi -X PUT \
-H "Accept: text/xml" \
-H "Content-Type:text/xml" \
-d @filter.txt \
"http://example.com:20550/users/scanner/"@stelcheck收集了一些过滤器这里的使用情况。因此,如果您想在hbase中使用SingleColumnValueFilter,您的filter.txt将类似于:
<Scanner batch="100">
<filter>
{
"type": "SingleColumnValueFilter",
"op": "EQUAL",
"family": "Y2Y=",
"qualifier": "cQ==",
"latestVersion": true,
"comparator": {
"type": "BinaryComparator",
"value": "dmFsdWU5"
}
}
</filter>
</Scanner> 此示例是在列value9中查找值为cf:q的单元格。
更新:
添加示例来解析命令行中的筛选器内容。
如果不想使用文件内容作为数据,只需在命令行中解析内容即可。
对于上面的例子,它将是:
curl -s -i -X PUT -H "Accept: text/xml" -H "Content-Type: text/xml" -d '<Scanner batch="100"><filter>{"type": "SingleColumnValueFilter", "op": "EQUAL", "family": "Y2Y=", "qualifier": "cQ==", "latestVersion": true, "comparator": { "type": "BinaryComparator", "value": "dmFsdWU5" } }</filter></Scanner>' "http://example.com:20550/users/scanner/"https://stackoverflow.com/questions/39474917
复制相似问题