<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>PutHBaseRecord</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">PutHBaseRecord</h1><h2>Description: </h2><p>Adds rows to HBase based on the contents of a flowfile using a configured record reader.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>hadoop, hbase, put, record</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Record Reader</strong></td><td>record-reader</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>RecordReaderFactory<br/><strong>Implementations: </strong><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.cef.CEFReader/index.html">CEFReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.syslog.Syslog5424Reader/index.html">Syslog5424Reader</a><br/><a href="../../../nifi-scripting-nar/1.19.0/org.apache.nifi.record.script.ScriptedReader/index.html">ScriptedReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.syslog.SyslogReader/index.html">SyslogReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.csv.CSVReader/index.html">CSVReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.grok.GrokReader/index.html">GrokReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.json.JsonTreeReader/index.html">JsonTreeReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.xml.XMLReader/index.html">XMLReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.avro.AvroReader/index.html">AvroReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.lookup.ReaderLookup/index.html">ReaderLookup</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.windowsevent.WindowsEventLogReader/index.html">WindowsEventLogReader</a><br/><a href="../../../nifi-parquet-nar/1.19.0/org.apache.nifi.parquet.ParquetReader/index.html">ParquetReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.0/org.apache.nifi.json.JsonPathReader/index.html">JsonPathReader</a></td><td id="description">Specifies the Controller Service to use for parsing incoming data and determining the data's schema</td></tr><tr><td id="name"><strong>HBase Client Service</strong></td><td>HBase Client Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>HBaseClientService<br/><strong>Implementations: </strong><a href="../../../nifi-hbase_2-client-service-nar/1.19.0/org.apache.nifi.hbase.HBase_2_ClientService/index.html">HBase_2_ClientService</a><br/><a href="../../../nifi-hbase_1_1_2-client-service-nar/1.19.0/org.apache.nifi.hbase.HBase_1_1_2_ClientService/index.html">HBase_1_1_2_ClientService</a></td><td id="description">Specifies the Controller Service to use for accessing HBase.</td></tr><tr><td id="name"><strong>Table Name</strong></td><td>Table Name</td><td></td><td id="allowable-values"></td><td id="description">The name of the HBase Table to put data into<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Row Identifier Field Name</strong></td><td>Row Identifier Field Name</td><td></td><td id="allowable-values"></td><td id="description">Specifies the name of a record field whose value should be used as the row id for the given record.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Row Identifier Encoding Strategy</td><td>Row Identifier Encoding Strategy</td><td id="default-value">String</td><td id="allowable-values"><ul><li>String <img src="../../../../../html/images/iconInfo.png" alt="Stores the value of row id as a UTF-8 String." title="Stores the value of row id as a UTF-8 String."></img></li><li>Binary <img src="../../../../../html/images/iconInfo.png" alt="Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string." title="Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string."></img></li></ul></td><td id="description">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</td></tr><tr><td id="name"><strong>Null Field Strategy</strong></td><td>hbase-record-null-field-strategy</td><td id="default-value">Skip Field</td><td id="allowable-values"><ul><li>Empty Bytes <img src="../../../../../html/images/iconInfo.png" alt="Use empty bytes. This can be used to overwrite existing fields or to put an empty placeholder value if you want every field to be present even if it has a null value." title="Use empty bytes. This can be used to overwrite existing fields or to put an empty placeholder value if you want every field to be present even if it has a null value."></img></li><li>Skip Field <img src="../../../../../html/images/iconInfo.png" alt="Skip the field (don't process it at all)." title="Skip the field (don't process it at all)."></img></li></ul></td><td id="description">Handle null field values as either an empty string or skip them altogether.</td></tr><tr><td id="name"><strong>Column Family</strong></td><td>Column Family</td><td></td><td id="allowable-values"></td><td id="description">The Column Family to use when inserting data into HBase<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Default Visibility String</td><td>hbase-default-vis-string</td><td></td><td id="allowable-values"></td><td id="description">When using visibility labels, any value set in this field will be applied to all cells that are written unless an attribute with the convention "visibility.COLUMN_FAMILY.COLUMN_QUALIFIER" is present on the flowfile. If this field is left blank, it will be assumed that no visibility is to be set unless visibility-related attributes are set. NOTE: this configuration will have no effect on your data if you have not enabled visibility labels in the HBase cluster.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Visibility String Record Path Root</td><td>put-hb-rec-visibility-record-path</td><td></td><td id="allowable-values"></td><td id="description">A record path that points to part of the record which contains a path to a mapping of visibility strings to record paths</td></tr><tr><td id="name">Timestamp Field Name</td><td>timestamp-field-name</td><td></td><td id="allowable-values"></td><td id="description">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.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Batch Size</strong></td><td>Batch Size</td><td id="default-value">1000</td><td id="allowable-values"></td><td id="description">The maximum number of records to be sent to HBase at any one time from the record set.</td></tr><tr><td id="name"><strong>Complex Field Strategy</strong></td><td>Complex Field Strategy</td><td id="default-value">Text</td><td id="allowable-values"><ul><li>Fail <img src="../../../../../html/images/iconInfo.png" alt="Route entire FlowFile to failure if any elements contain complex values." title="Route entire FlowFile to failure if any elements contain complex values."></img></li><li>Warn <img src="../../../../../html/images/iconInfo.png" alt="Provide a warning and do not include field in row sent to HBase." title="Provide a warning and do not include field in row sent to HBase."></img></li><li>Ignore <img src="../../../../../html/images/iconInfo.png" alt="Silently ignore and do not include in row sent to HBase." title="Silently ignore and do not include in row sent to HBase."></img></li><li>Text <img src="../../../../../html/images/iconInfo.png" alt="Use the string representation of the complex field as the value of the given column." title="Use the string representation of the complex field as the value of the given column."></img></li></ul></td><td id="description">Indicates how to handle complex fields, i.e. fields that do not have a single text value.</td></tr><tr><td id="name"><strong>Field Encoding Strategy</strong></td><td>Field Encoding Strategy</td><td id="default-value">String</td><td id="allowable-values"><ul><li>String <img src="../../../../../html/images/iconInfo.png" alt="Stores the value of each field as a UTF-8 String." title="Stores the value of each field as a UTF-8 String."></img></li><li>Bytes <img src="../../../../../html/images/iconInfo.png" alt="Stores the value of each field as the byte representation of the type derived from the record." title="Stores the value of each field as the byte representation of the type derived from the record."></img></li></ul></td><td id="description">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.</td></tr></table><h3>Dynamic Properties: </h3><p>Supports Sensitive Dynamic Properties: <strong>No</strong></p><p>Dynamic Properties allow the user to specify both the name and value of a property.<table id="dynamic-properties"><tr><th>Name</th><th>Value</th><th>Description</th></tr><tr><td id="name">visibility.&lt;COLUMN FAMILY&gt;</td><td id="value">visibility label for &lt;COLUMN FAMILY&gt;</td><td>Visibility label for everything under that column family when a specific label for a particular column qualifier is not available.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">visibility.&lt;COLUMN FAMILY&gt;.&lt;COLUMN QUALIFIER&gt;</td><td id="value">visibility label for &lt;COLUMN FAMILY&gt;:&lt;COLUMN QUALIFIER&gt;.</td><td>Visibility label for the specified column qualifier qualified by a configured column family.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr></table></p><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>A FlowFile is routed to this relationship after it has been successfully stored in HBase</td></tr><tr><td>failure</td><td>A FlowFile is routed to this relationship if it cannot be sent to HBase</td></tr></table><h3>Reads Attributes: </h3><table id="reads-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>restart.index</td><td>Reads restart.index when it needs to replay part of a record set that did not get into HBase.</td></tr></table><h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>restart.index</td><td>Writes restart.index when a batch fails to be insert into HBase</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource Considerations:</h3>None specified.</body></html>