Как ограничить строки с помощью сканера HBase API REST? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь преобразовать это сканирование оболочки hbase

scan 'mytable', { LIMIT => 100, FILTER => "SingleColumnValueFilter('cf', 'col', =, 'binary:value')" }

в вызов REST HBase API

PUT /mytable/scanner

<Scanner>
  <filter>
    {
      "type: "SingleColumnValueFilter",
      "op": "EQUAL",
      "family": "Y2Y=",
      "qualifier": "Y29s",
      "latestVersion": true,
      "comparator": {
         "type": "BinaryComparator",
         "value": "c2VhcmNo"
      }
    }
  </filter>
</Scanner

Фильтр работает правильно, но я не могу найти способ ограничить мои результаты.

В этой документации нет атрибута limit для элемента Scanner . Существует атрибут batch , но он ограничивает количество возвращаемых значений вместо числа возвращаемых строк.

Например,

Person1
  cf:name=John
  cf:age=30
Person2
  cf:name=Sarah
  cf:age=20

затем

<Scanner batch="3">...</Scanner>

вернет

Person1
  cf:name=John
  cf:age=30
Person2
  cf:name=Sarah

Можно ли даже ограничить с помощью REST API и фильтры включены?

1 Ответ

0 голосов
/ 04 апреля 2020

publi c Сканировать readVersions (int version) Получить до указанного количества версий каждого столбца. Параметры: version - указанное количество версий для каждого столбца. Returns: this

...