Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-4187

Add Thrift Column Start/Stop Read/Scan Capability

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.90.3
    • 0.92.0
    • Thrift
    • None
    • Filters now support an offset,limit support to limit the reads to a definable col/chunk size.

    Description

      It would be great to be able to make requests through thrift for a subset of a row via a start/stop column pattern. Below are three different read patterns any of which would significantly help reading columns through thrift.

      From a single request perspective it would be nice to be able to specify a start/stop col to read in one call everything for that row with the specified start/stop column.

      getRowWithColumnRange(tableName, row, startColumn, stopColumn)

      It would also be very useful to set up a column scanner where we could stop at any point. Basically instead of scanning rows we would scan columns for a given row. In the below example we would set up a scanner to scan the columns and we could read xx cols back at a time and stop any time we had "enough" data.

      colScanID = colScannerOpenWithStop(tableName, row, startColumn, stopColumn)
      colScannerGetList(colSanID,1000)

      Lastly is would also be useful/flexible to expose columns to the current row scanner process to basically be able to cross rows and still only receive XX column values. The new scannerGetCols method below would return 1000 col values at a time instead of XX rows at a time like a normal scannerGetList. This scanner would also be able to cross rows seamlessly if needed.

      scanID = scannerOpen(tableName, row)
      scannerGetCols(scanID,1000)

      Attachments

        Activity

          People

            Unassigned Unassigned
            wav100 Wayne
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: