This Processor polls HBase for any records in the specified table. The processor keeps track of the timestamp of the cells that it receives, so that as new records are pushed to HBase, they will automatically be pulled. Each record is output in JSON format, as {"row": "<row key>", "cells": { "<column 1 family>:<column 1 qualifier>": "<cell 1 value>", "<column 2 family>:<column 2 qualifier>": "<cell 2 value>", ... }}. For each record received, a Provenance RECEIVE event is emitted with the format hbase://<table name>/<row key>, where <row key> is the UTF-8 encoded value of the row's key.


hbase, get, ingest


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
HBase Client ServiceController Service API:
Implementations: HBase_2_ClientService
Specifies the Controller Service to use for accessing HBase.
Distributed Cache ServiceController Service API:
Implementations: DistributedMapCacheClientService
Specifies the Controller Service that should be used to maintain state about what has been pulled from HBase so that if a new node begins pulling data, it won't duplicate all of the work that has been done.
Table NameThe name of the HBase Table to put data into
ColumnsA comma-separated list of "<colFamily>:<colQualifier>" pairs to return when scanning. To return all columns for a given family, leave off the qualifier such as "<colFamily1>,<colFamily2>".
AuthorizationsThe list of authorizations to pass to the scanner. This will be ignored if cell visibility labels are not in use.
Supports Expression Language: true (will be evaluated using variable registry only)
Filter ExpressionAn HBase filter expression that will be applied to the scan. This property can not be used when also using the Columns property.
Initial Time RangeNone
  • None
  • Current Time
The time range to use on the first scan of a table. None will pull the entire table on the first scan, Current Time will pull entries from that point forward.
Character SetUTF-8Specifies which character set is used to encode the data in HBase


successAll FlowFiles are routed to this relationship

Reads Attributes:

None specified.

Writes Attributes:

hbase.tableThe name of the HBase table that the data was pulled from
mime.typeSet to application/json to indicate that output is JSON

State management:

CLUSTERAfter performing a fetching from HBase, stores a timestamp of the last-modified cell that was found. In addition, it stores the ID of the row(s) and the value of each cell that has that timestamp as its modification date. This is stored across the cluster and allows the next fetch to avoid duplicating data, even if this Processor is run on Primary Node only and the Primary Node changes.


This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.

System Resource Considerations:

None specified.