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

Implement fast-forwarding FuzzyRowFilter to allow filtering rows e.g. by "???alex?b"


    • Type: New Feature
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.95.0
    • Component/s: Filters
    • Labels:
    • Hadoop Flags:


      Implement fuzzy row key filter to allow fetching records e.g. by this criteria: "???alex?b".

      This seems to be very useful as an alternative to select records by row keys by specifying their part which is not prefix part. Due to fast-forwarding nature of the filter in many situations this helps to avoid heavy full-table scans.

      This is especially effective when you have composite row key and (some of) its parts has fixed length. E.g. with the key of format userId_actionId_time, given that userId and actionId length is fixed, one can select user actions of specific type using fuzzy row key by specifying mask "????_myaction". Given fast-forwarding nature of filter, this will usually work much faster than doing whole table scan with any of the existing server-side filters.

      In many cases this can work as secondary-indexing alternative.

      Many times users implement it as a custom filter and many times they just don' know this is possible. Let's add it to the common codebase.


        1. HBASE-6509.patch
          19 kB
          Alex Baranau
        2. HBASE-6509_1.patch
          19 kB
          Alex Baranau
        3. HBASE-6509_2.patch
          20 kB
          Alex Baranau
        4. HBASE-6509_3.patch
          95 kB
          Alex Baranau

          Issue Links



              • Assignee:
                alexb Alex Baranau
                alexb Alex Baranau
              • Votes:
                1 Vote for this issue
                14 Start watching this issue


                • Created: