GetHBase

Description:

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.

Tags:

hbase, get, ingest

Properties:

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.

NameDefault ValueAllowable ValuesDescription
HBase Client ServiceController Service API:
HBaseClientService
Implementation:HBase_1_1_2_ClientService
Specifies the Controller Service to use for accessing HBase.
Distributed Cache ServiceController Service API:
DistributedMapCacheClient
Implementations: DistributedMapCacheClientService
HBase_1_1_2_ClientMapCacheService
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>".
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

Relationships:

NameDescription
successAll FlowFiles are routed to this relationship

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
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:

ScopeDescription
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.

Restricted:

This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.