Я пытаюсь сформулировать некоторые вызовы RESTful для возврата определенных данных из таблицы hbase с использованием нечеткой логики ИЛИ нескольких фильтров (filterList). Мой rowkey состоит из ' BatchId + UserId + Метка времени ' + ' ModelId ', как Пример Я хотел бы иметь возможность найти всех людей, где rowkey содержит UserId из xyz 'и' ModelId 'из' yxz '(независимо от значений BatchId & Timestamp).
Мне не повезло, реплицируя нечеткие фильтры из оболочки, в качестве последнего средства я пытаюсь использовать список фильтров (несколько фильтров) для фильтрации по каждому столбцу в отдельности (это связано с затратами на производительность, что я могу принять)
Что касается списка фильтров, то при попытке фильтрации на самом RK я не уверен, какое значение передать также для классификатора и семейства столбцов или синтаксиса для добавления более одного фильтра, любая помощь очень ценится.
Найдите мою команду curl и содержимое файла args для списка фильтров ниже.
CURL:
curl -vi -X PUT -H "Content-Type: text / xml" -d @ args.xml "host-rest-machine-address / namespace: таблица / сканер"
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>
Мое семейство столбцов: cf1 (не уверен, применимо ли это при поиске по ключу строки?)
Qualifier: имя столбца в таблице hbase (также не знаете, как ссылаться на rowkey здесь - попробовали row, rowkey, мой псевдоним sql при импорте без удачи)
Значение: значение для фильтрации для данного столбца / таблицы
Примечание - все передаваемые значения кодируются в base_64
Заранее спасибо