我尝试使用模糊逻辑或多过滤器(filterlist)来构造一些restful调用,以从hbase表返回特定的数据。我的rowkey由'batchid+userid+timestamp'+'modelid'组成,例如,我希望能够找到rowkey包含xyz'的userid和'yxz'的modelid'的所有人(不考虑batchid和timestamp值)。
我没有幸从shell复制模糊过滤器,作为最后的手段,我尝试使用一个过滤器列表(多个过滤器)分别对每一列进行过滤(这是以性能为代价的,我可以接受)。
关于filter列表,当尝试在rk本身上进行过滤时,我也不确定要传递什么值作为限定符和列族,或者添加多个过滤器的语法,非常感谢任何帮助。
找到我的curl命令&下面filterlist的args文件内容。
curl:curl-vi-x put-h“内容-type:text/xml“-d@args.xml”主机rest计算机地址/namespace:table/scanner"
args.xml文件:
<Scanner batch ="1024">
<filter>
{
"type": "FilterList",
"op": "MUST_PASS_ONE",
"filters": [{
"type": "FilterList",
"op": "MUST_PASS_ALL",
"filters": [{
"type": "FamilyFilter",
"op": "EQUAL",
"comparator": {
"type": "BinaryComparator",
"value": "Y2Yx"
}
}, {
"type": "QualifierFilter",
"op": "EQUAL",
"comparator": {
"type": "BinaryComparator",
"value": "cm93S2V5"
}
}, {
"type": "RowFilter",
"op": "EQUAL",
"comparator": {
"type": "BinaryComparator",
"value": "MjAwMDAyMDE4OTM3Mw=="
}
}]
}]
}
</filter>
</Scanner>
my column family:cf1(不确定在搜索行键时是否适用?)qualifier:hbase表中的列名(也不确定如何在此处引用rowkey-在导入时尝试了row、rowkey和my sql别名,但没有成功)value:要为给定列/表筛选的值
注意-所有被传递的值都是base\ u 64编码的
提前谢谢
暂无答案!
目前还没有任何答案,快来回答吧!