hbase模糊/筛选列表匹配来自shell的REST
我正在尝试使用模糊逻辑或多个过滤器(filterList)制定一些RESTful调用,以从hbase表返回特定数据。我的rowkey由“BatchId+用户ID+时间戳”“+”ModelId”,作为一个例子,我希望能够找到rowkey包含xyz的用户ID”和“yxz”的“ModelId”的所有人(无论BatchId和时间戳值如何) 我没有幸从shell复制模糊过滤器,作为最后手段,我尝试使用一个过滤器列表(多个过滤器)对每个列分别进行过滤(这是以性能为代价的,我可以接受) 关于筛选器列表,当尝试在RK本身上进行筛选时,我不确定为限定符和列族传递什么值,也不确定添加多个筛选器的语法,非常感谢您的帮助 查找我的curl命令&下面filterlist的args文件内容 卷曲: curl-vi-X PUT-H“内容类型:text/xml”-d@args.xml“主机rest计算机地址/命名空间:表/扫描仪” ARGS.XML:hbase模糊/筛选列表匹配来自shell的REST,rest,hadoop,hbase,stargate,Rest,Hadoop,Hbase,Stargate,我正在尝试使用模糊逻辑或多个过滤器(filterList)制定一些RESTful调用,以从hbase表返回特定数据。我的rowkey由“BatchId+用户ID+时间戳”“+”ModelId”,作为一个例子,我希望能够找到rowkey包含xyz的用户ID”和“yxz”的“ModelId”的所有人(无论BatchId和时间戳值如何) 我没有幸从shell复制模糊过滤器,作为最后手段,我尝试使用一个过滤器列表(多个过滤器)对每个列分别进行过滤(这是以性能为代价的,我可以接受) 关于筛选器列表,当尝试
<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>
{
“类型”:“过滤器列表”,
“op”:“必须通过一个”,
“过滤器”:[{
“类型”:“过滤器列表”,
“op”:“必须全部通过”,
“过滤器”:[{
“类型”:“FamilyFilter”,
“op”:“平等”,
“比较国”:{
“类型”:“二进制比较器”,
“值”:“Y2Yx”
}
}, {
“类型”:“限定符筛选器”,
“op”:“平等”,
“比较国”:{
“类型”:“二进制比较器”,
“值”:“cm93S2V5”
}
}, {
“类型”:“行筛选器”,
“op”:“平等”,
“比较国”:{
“类型”:“二进制比较器”,
“值”:“MjAwMDAyMDE4OTM3Mw=”
}
}]
}]
}
我的列族:cf1(不确定在搜索行键时是否适用)
限定符:hbase表中的列名(也不确定如何在此处引用rowkey-在导入时尝试了row、rowkey、my sql别名,但没有成功)
值:为给定列/表筛选的值
注意-所有传递的值都是base_64编码的
提前谢谢