hbase нечеткий / фильтр соответствия списка для REST из оболочки - PullRequest
1 голос
/ 20 марта 2019

Я пытаюсь сформулировать некоторые вызовы 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

Заранее спасибо

...