blob: ee2bca5892cc79e05016c451303a29315c075258 [file] [log] [blame]
<!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.1/org.apache.nifi.grok.GrokReader/index.html">GrokReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.xml.XMLReader/index.html">XMLReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.avro.AvroReader/index.html">AvroReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.syslog.Syslog5424Reader/index.html">Syslog5424Reader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.cef.CEFReader/index.html">CEFReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.syslog.SyslogReader/index.html">SyslogReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.json.JsonTreeReader/index.html">JsonTreeReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.csv.CSVReader/index.html">CSVReader</a><br/><a href="../../../nifi-scripting-nar/1.19.1/org.apache.nifi.record.script.ScriptedReader/index.html">ScriptedReader</a><br/><a href="../../../nifi-parquet-nar/1.19.1/org.apache.nifi.parquet.ParquetReader/index.html">ParquetReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.json.JsonPathReader/index.html">JsonPathReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.lookup.ReaderLookup/index.html">ReaderLookup</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.windowsevent.WindowsEventLogReader/index.html">WindowsEventLogReader</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.1/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.1/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>