1
votes

What I'm trying to do is translate this hbase shell scan

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

into a HBase API REST call

PUT /mytable/scanner

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

The filter is working correctly but I can't find a way to limit my results.

In this documentation, there is no limit attribute for the Scanner element. There is the batch attribute but it limits the number of values returned instead of the number of rows returned.

For example,

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

then

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

will return

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

Is it even possible to limit with the REST API and filters included ?

1

1 Answers

0
votes

public Scan readVersions(int versions) Get up to the specified number of versions of each column. Parameters: versions - specified number of versions for each column Returns: this