Description:

Adds rows to HBase based on the contents of a flow file using a configured record reader.

Tags:

Hadoop, HBase, put, record

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, and whether a property supports the NiFi Expression Language.

Name

Default Value

Allowable Values

Description

Record Reader

Controller Service API: 


RecordReaderFactory

Implementations:


CSVReader
GrokReader
AvroReader
JsonTreeReader
JsonPathReader
ScriptedReader
Specifies the Controller Service to use for parsing incoming data and determining the data's schema

HBase Client Service

Controller Service API: 


HBaseClientService

Implementation:


HBase_1_1_2_ClientService
Specifies the Controller Service to use for accessing HBase.

Table Name

The name of the HBase Table to put data into

Supports Expression Language: true


Row Identifier Field Name

Specifies the name of a record field whose value should be used as the row id for the given record.

Supports Expression Language: true


Row Identifier Encoding Strategy String * String
* Binary 
Specifies the data type of Row ID used when inserting data into HBase. The default behavior is to convert the row id to a UTF-8-byte array. Choosing Binary will convert a binary formatted string to the correct byte [] representation. The Binary option should be used if you are using Binary row keys in HBase

Column Family

The Column Family to use when inserting data into HBase

Supports Expression Language: true


Timestamp Field Name Specifies the name of a record field whose value should be used as the timestamp for the cells in HBase. The value of this field must be a number, string, or date that can be converted to a long. If this field is left blank, HBase will use the current time.

Supports Expression Language: true


Batch Size

1000 The maximum number of records to be sent to HBase at any one time from the record set.

Complex Field Strategy

Text * Fail
* Warn
* Ignore
* Text 
Indicates how to handle complex fields, i.e. fields that do not have a single text value.

Field Encoding Strategy

String * String
* Bytes 
Indicates how to store the value of each field in HBase. The default behavior is to convert each value from the record to a String, and store the UTF-8 bytes. Choosing Bytes will interpret the type of each field from the record, and convert the value to the byte representation of that type, meaning an integer will be stored as the byte representation of that integer.

Relationships:

Name

Description

success A FlowFile is routed to this relationship after it has been successfully stored in HBase
failure A FlowFile is routed to this relationship if it cannot be sent to HBase

Reads Attributes:

Name

Description

restart.index Reads restart.index when it needs to replay part of a record set that did not get into HBase.

Writes Attributes:

Name

Description

restart.index Writes restart index when a batch fails to be insert into HBase

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.