<extensionManifest><groupId>org.apache.nifi</groupId><artifactId>nifi-hbase-nar</artifactId><version>1.22.0</version><parentNar><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></parentNar><systemApiVersion>1.22.0</systemApiVersion><buildInfo><tag>nifi-1.22.0-RC1</tag><branch>UNKNOWN</branch><revision>71e3ea9</revision></buildInfo><extensions><extension><name>org.apache.nifi.hbase.DeleteHBaseCells</name><type>PROCESSOR</type><description>This processor allows the user to delete individual HBase cells by specifying one or more lines in the flowfile content that are a sequence composed of row ID, column family, column qualifier and associated visibility labels if visibility labels are enabled and in use. A user-defined separator is used to separate each of these pieces of data on each line, with :::: being the default separator.</description><tags><tag>hbase</tag><tag>delete</tag><tag>cell</tag><tag>cells</tag><tag>visibility</tag></tags><properties><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-hbase-cell-separator</name><displayName>Separator</displayName><description>Each line of the flowfile content is separated into components for building a delete using thisseparator. It should be something other than a single colon or a comma because these are values that are associated with columns and visibility labels respectively. To delete a row with ID xyz, column family abc, column qualifier def and visibility label PII&amp;PHI, one would specify xyz::::abc::::def::::PII&amp;PHI given the default value</description><defaultValue>::::</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>A FlowFile is routed to this relationship after it has been successfully stored in HBase</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>A FlowFile is routed to this relationship if it cannot be sent to HBase</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>error.line</name><description>The line number of the error.</description></writesAttribute><writesAttribute><name>error.msg</name><description>The message explaining the error.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement></extension><extension><name>org.apache.nifi.hbase.DeleteHBaseRow</name><type>PROCESSOR</type><description>Delete HBase records individually or in batches. The input can be a single row ID in the flowfile content, one ID per line, row IDs separated by a configurable separator character (default is a comma). </description><tags><tag>delete</tag><tag>hbase</tag></tags><properties><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier</name><displayName>Row Identifier</displayName><description>Specifies the Row ID to use when deleting data into HBase</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-hb-row-id-location</name><displayName>Row ID Location</displayName><description>The location of the row ID to use for building the delete. Can be from the content or an expression language statement.</description><defaultValue>content</defaultValue><allowableValues><allowableValue><displayName>FlowFile content</displayName><value>content</value><description>Get the row key(s) from the flowfile content.</description></allowableValue><allowableValue><displayName>FlowFile attributes</displayName><value>attr</value><description>Get the row key from an expression language statement.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-hb-flowfile-fetch-count</name><displayName>Flowfile Fetch Count</displayName><description>The number of flowfiles to fetch per run.</description><defaultValue>5</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-hb-batch-size</name><displayName>Batch Size</displayName><description>The number of deletes to send per batch.</description><defaultValue>50</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-hb-separator</name><displayName>Delete Row Key Separator</displayName><description>The separator character(s) that separate multiple row keys when multiple row keys are provided in the flowfile content</description><defaultValue>,</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-visibility-label</name><displayName>Visibility Label</displayName><description>If visibility labels are enabled, a row cannot be deleted without supplying its visibility label(s) in the delete request. Note: this visibility label will be applied to all cells within the row that is specified. If some cells have different visibility labels, they will not be deleted. When that happens, the failure to delete will be considered a success because HBase does not report it as a failure.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>delete-char-set</name><displayName>Character Set</displayName><description>The character set used to encode the row key for HBase.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>A FlowFile is routed to this relationship after it has been successfully stored in HBase</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>A FlowFile is routed to this relationship if it cannot be sent to HBase</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>restart.index</name><description>If a delete batch fails, 'restart.index' attribute is added to the FlowFile and sent to 'failure' relationship, so that this processor can retry from there when the same FlowFile is routed again.</description></writesAttribute><writesAttribute><name>rowkey.start</name><description>The first rowkey in the flowfile. Only written when using the flowfile's content for the row IDs.</description></writesAttribute><writesAttribute><name>rowkey.end</name><description>The last rowkey in the flowfile. Only written when using the flowfile's content for the row IDs.</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement></extension><extension><name>org.apache.nifi.hbase.FetchHBaseRow</name><type>PROCESSOR</type><description>Fetches a row from an HBase table. The Destination property controls whether the cells are added as flow file attributes, or the row is written to the flow file content as JSON. This processor may be used to fetch a fixed row on a interval by specifying the table and row id directly in the processor, or it may be used to dynamically fetch rows by referencing the table and row id from incoming flow files.</description><tags><tag>hbase</tag><tag>scan</tag><tag>fetch</tag><tag>get</tag><tag>enrich</tag></tags><properties><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table to fetch from.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier</name><displayName>Row Identifier</displayName><description>The identifier of the row to fetch.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Columns</name><displayName>Columns</displayName><description>An optional comma-separated list of "&lt;colFamily&gt;:&lt;colQualifier&gt;" pairs to fetch. To return all columns for a given family, leave off the qualifier such as "&lt;colFamily1&gt;,&lt;colFamily2&gt;".</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>hbase-fetch-row-authorizations</name><displayName>Authorizations</displayName><description>The list of authorizations to pass to the scanner. This will be ignored if cell visibility labels are not in use.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Destination</name><displayName>Destination</displayName><description>Indicates whether the row fetched from HBase is written to FlowFile content or FlowFile Attributes.</description><defaultValue>flowfile-attributes</defaultValue><allowableValues><allowableValue><displayName>flowfile-attributes</displayName><value>flowfile-attributes</value><description>Adds the JSON document representing the row that was fetched as an attribute named hbase.row. The format of the JSON document is determined by the JSON Format property. NOTE: Fetching many large rows into attributes may have a negative impact on performance.</description></allowableValue><allowableValue><displayName>flowfile-content</displayName><value>flowfile-content</value><description>Overwrites the FlowFile content with a JSON document representing the row that was fetched. The format of the JSON document is determined by the JSON Format property.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>JSON Format</name><displayName>JSON Format</displayName><description>Specifies how to represent the HBase row as a JSON document.</description><defaultValue>full-row</defaultValue><allowableValues><allowableValue><displayName>full-row</displayName><value>full-row</value><description>Creates a JSON document with the format: {"row":&lt;row-id&gt;, "cells":[{"fam":&lt;col-fam&gt;, "qual":&lt;col-val&gt;, "val":&lt;value&gt;, "ts":&lt;timestamp&gt;}]}.</description></allowableValue><allowableValue><displayName>col-qual-and-val</displayName><value>col-qual-and-val</value><description>Creates a JSON document with the format: {"&lt;col-qual&gt;":"&lt;value&gt;", "&lt;col-qual&gt;":"&lt;value&gt;".</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>JSON Value Encoding</name><displayName>JSON Value Encoding</displayName><description>Specifies how to represent row ids, column families, column qualifiers, and values when stored in FlowFile attributes, or written to JSON.</description><defaultValue>none</defaultValue><allowableValues><allowableValue><displayName>none</displayName><value>none</value><description>Creates a String using the bytes of given data and the given Character Set.</description></allowableValue><allowableValue><displayName>base64</displayName><value>base64</value><description>Creates a Base64 encoded String of the given data.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Encode Character Set</name><displayName>Encode Character Set</displayName><description>The character set used to encode the JSON representation of the row.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Decode Character Set</name><displayName>Decode Character Set</displayName><description>The character set used to decode data from HBase.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successful fetches are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All failed fetches are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>not found</name><description>All fetches where the row id is not found are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>hbase.table</name><description>The name of the HBase table that the row was fetched from</description></writesAttribute><writesAttribute><name>hbase.row</name><description>A JSON document representing the row. This property is only written when a Destination of flowfile-attributes is selected.</description></writesAttribute><writesAttribute><name>mime.type</name><description>Set to application/json when using a Destination of flowfile-content, not set or modified otherwise</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement></extension><extension><name>org.apache.nifi.hbase.GetHBase</name><type>PROCESSOR</type><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": "&lt;row key&gt;", "cells": { "&lt;column 1 family&gt;:&lt;column 1 qualifier&gt;": "&lt;cell 1 value&gt;", "&lt;column 2 family&gt;:&lt;column 2 qualifier&gt;": "&lt;cell 2 value&gt;", ... }}. For each record received, a Provenance RECEIVE event is emitted with the format hbase://&lt;table name&gt;/&lt;row key&gt;, where &lt;row key&gt; is the UTF-8 encoded value of the row's key.</description><tags><tag>hbase</tag><tag>get</tag><tag>ingest</tag></tags><properties><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Distributed Cache Service</name><displayName>Distributed Cache Service</displayName><description>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.</description><controllerServiceDefinition><className>org.apache.nifi.distributed.cache.client.DistributedMapCacheClient</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table to put data into</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Columns</name><displayName>Columns</displayName><description>A comma-separated list of "&lt;colFamily&gt;:&lt;colQualifier&gt;" pairs to return when scanning. To return all columns for a given family, leave off the qualifier such as "&lt;colFamily1&gt;,&lt;colFamily2&gt;".</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>hbase-fetch-row-authorizations</name><displayName>Authorizations</displayName><description>The list of authorizations to pass to the scanner. This will be ignored if cell visibility labels are not in use.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Filter Expression</name><displayName>Filter Expression</displayName><description>An HBase filter expression that will be applied to the scan. This property can not be used when also using the Columns property.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Initial Time Range</name><displayName>Initial Time Range</displayName><description>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.</description><defaultValue>None</defaultValue><allowableValues><allowableValue><displayName>None</displayName><value>None</value><description></description></allowableValue><allowableValue><displayName>Current Time</displayName><value>Current Time</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Character Set</name><displayName>Character Set</displayName><description>Specifies which character set is used to encode the data in HBase</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>VARIABLE_REGISTRY</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All FlowFiles are routed to this relationship</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>hbase.table</name><description>The name of the HBase table that the data was pulled from</description></writesAttribute><writesAttribute><name>mime.type</name><description>Set to application/json to indicate that output is JSON</description></writesAttribute></writesAttributes><triggerSerially>true</triggerSerially><triggerWhenEmpty>true</triggerWhenEmpty><stateful><description>After 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.</description><scopes><scope>CLUSTER</scope></scopes></stateful><inputRequirement>INPUT_FORBIDDEN</inputRequirement><defaultSchedule><strategy>TIMER_DRIVEN</strategy><period>1 min</period><concurrentTasks>1</concurrentTasks></defaultSchedule></extension><extension><name>org.apache.nifi.hbase.PutHBaseCell</name><type>PROCESSOR</type><description>Adds the Contents of a FlowFile to HBase as the value of a single cell</description><tags><tag>hadoop</tag><tag>hbase</tag></tags><properties><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table to put data into</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier</name><displayName>Row Identifier</displayName><description>Specifies the Row ID to use when inserting data into HBase</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier Encoding Strategy</name><displayName>Row Identifier Encoding Strategy</displayName><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</description><defaultValue>String</defaultValue><allowableValues><allowableValue><displayName>String</displayName><value>String</value><description>Stores the value of row id as a UTF-8 String.</description></allowableValue><allowableValue><displayName>Binary</displayName><value>Binary</value><description>Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Column Family</name><displayName>Column Family</displayName><description>The Column Family to use when inserting data into HBase</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Column Qualifier</name><displayName>Column Qualifier</displayName><description>The Column Qualifier to use when inserting data into HBase</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>timestamp</name><displayName>Timestamp</displayName><description>The timestamp for the cells being created in HBase. This field can be left blank and HBase will use the current time.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Batch Size</name><displayName>Batch Size</displayName><description>The maximum number of FlowFiles to process in a single execution. The FlowFiles will be grouped by table, and a single Put per table will be performed.</description><defaultValue>25</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>visibility.&lt;COLUMN FAMILY&gt;</name><value>visibility label for &lt;COLUMN FAMILY&gt;</value><description>Visibility label for everything under that column family when a specific label for a particular column qualifier is not available.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty><dynamicProperty><name>visibility.&lt;COLUMN FAMILY&gt;.&lt;COLUMN QUALIFIER&gt;</name><value>visibility label for &lt;COLUMN FAMILY&gt;:&lt;COLUMN QUALIFIER&gt;.</value><description>Visibility label for the specified column qualifier qualified by a configured column family.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>success</name><description>A FlowFile is routed to this relationship after it has been successfully stored in HBase</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>A FlowFile is routed to this relationship if it cannot be sent to HBase</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><supportsBatching>true</supportsBatching><eventDriven>true</eventDriven><inputRequirement>INPUT_REQUIRED</inputRequirement><systemResourceConsiderations><systemResourceConsideration><resource>MEMORY</resource><description>An instance of this component can cause high usage of this system resource.  Multiple instances or high concurrency settings may result a degradation of performance.</description></systemResourceConsideration></systemResourceConsiderations></extension><extension><name>org.apache.nifi.hbase.PutHBaseJSON</name><type>PROCESSOR</type><description>Adds rows to HBase based on the contents of incoming JSON documents. Each FlowFile must contain a single UTF-8 encoded JSON document, and any FlowFiles where the root element is not a single document will be routed to failure. Each JSON field name and value will become a column qualifier and value of the HBase row. Any fields with a null value will be skipped, and fields with a complex value will be handled according to the Complex Field Strategy. The row id can be specified either directly on the processor through the Row Identifier property, or can be extracted from the JSON document by specifying the Row Identifier Field Name property. This processor will hold the contents of all FlowFiles for the given batch in memory at one time.</description><tags><tag>hadoop</tag><tag>hbase</tag><tag>put</tag><tag>json</tag></tags><properties><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table to put data into</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier</name><displayName>Row Identifier</displayName><description>Specifies the Row ID to use when inserting data into HBase</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier Field Name</name><displayName>Row Identifier Field Name</displayName><description>Specifies the name of a JSON element whose value should be used as the row id for the given JSON document.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier Encoding Strategy</name><displayName>Row Identifier Encoding Strategy</displayName><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</description><defaultValue>String</defaultValue><allowableValues><allowableValue><displayName>String</displayName><value>String</value><description>Stores the value of row id as a UTF-8 String.</description></allowableValue><allowableValue><displayName>Binary</displayName><value>Binary</value><description>Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Column Family</name><displayName>Column Family</displayName><description>The Column Family to use when inserting data into HBase</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>timestamp</name><displayName>Timestamp</displayName><description>The timestamp for the cells being created in HBase. This field can be left blank and HBase will use the current time.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Batch Size</name><displayName>Batch Size</displayName><description>The maximum number of FlowFiles to process in a single execution. The FlowFiles will be grouped by table, and a single Put per table will be performed.</description><defaultValue>25</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Complex Field Strategy</name><displayName>Complex Field Strategy</displayName><description>Indicates how to handle complex fields, i.e. fields that do not have a single text value.</description><defaultValue>Text</defaultValue><allowableValues><allowableValue><displayName>Fail</displayName><value>Fail</value><description>Route entire FlowFile to failure if any elements contain complex values.</description></allowableValue><allowableValue><displayName>Warn</displayName><value>Warn</value><description>Provide a warning and do not include field in row sent to HBase.</description></allowableValue><allowableValue><displayName>Ignore</displayName><value>Ignore</value><description>Silently ignore and do not include in row sent to HBase.</description></allowableValue><allowableValue><displayName>Text</displayName><value>Text</value><description>Use the string representation of the complex field as the value of the given column.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Field Encoding Strategy</name><displayName>Field Encoding Strategy</displayName><description>Indicates how to store the value of each field in HBase. The default behavior is to convert each value from the JSON to a String, and store the UTF-8 bytes. Choosing Bytes will interpret the type of each field from the JSON, and convert the value to the byte representation of that type, meaning an integer will be stored as the byte representation of that integer.</description><defaultValue>String</defaultValue><allowableValues><allowableValue><displayName>String</displayName><value>String</value><description>Stores the value of each field as a UTF-8 String.</description></allowableValue><allowableValue><displayName>Bytes</displayName><value>Bytes</value><description>Stores the value of each field as the byte representation of the type derived from the JSON.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>visibility.&lt;COLUMN FAMILY&gt;</name><value>visibility label for &lt;COLUMN FAMILY&gt;</value><description>Visibility label for everything under that column family when a specific label for a particular column qualifier is not available.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty><dynamicProperty><name>visibility.&lt;COLUMN FAMILY&gt;.&lt;COLUMN QUALIFIER&gt;</name><value>visibility label for &lt;COLUMN FAMILY&gt;:&lt;COLUMN QUALIFIER&gt;.</value><description>Visibility label for the specified column qualifier qualified by a configured column family.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>success</name><description>A FlowFile is routed to this relationship after it has been successfully stored in HBase</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>A FlowFile is routed to this relationship if it cannot be sent to HBase</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes></writesAttributes><supportsBatching>true</supportsBatching><eventDriven>true</eventDriven><inputRequirement>INPUT_REQUIRED</inputRequirement></extension><extension><name>org.apache.nifi.hbase.PutHBaseRecord</name><type>PROCESSOR</type><description>Adds rows to HBase based on the contents of a flowfile using a configured record reader.</description><tags><tag>hadoop</tag><tag>hbase</tag><tag>put</tag><tag>record</tag></tags><properties><property><name>record-reader</name><displayName>Record Reader</displayName><description>Specifies the Controller Service to use for parsing incoming data and determining the data's schema</description><controllerServiceDefinition><className>org.apache.nifi.serialization.RecordReaderFactory</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>HBase Client Service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Table Name</name><displayName>Table Name</displayName><description>The name of the HBase Table to put data into</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier Field Name</name><displayName>Row Identifier Field Name</displayName><description>Specifies the name of a record field whose value should be used as the row id for the given record.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Row Identifier Encoding Strategy</name><displayName>Row Identifier Encoding Strategy</displayName><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</description><defaultValue>String</defaultValue><allowableValues><allowableValue><displayName>String</displayName><value>String</value><description>Stores the value of row id as a UTF-8 String.</description></allowableValue><allowableValue><displayName>Binary</displayName><value>Binary</value><description>Stores the value of the rows id as a binary byte array. It expects that the row id is a binary formatted string.</description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>hbase-record-null-field-strategy</name><displayName>Null Field Strategy</displayName><description>Handle null field values as either an empty string or skip them altogether.</description><defaultValue>skip-field</defaultValue><allowableValues><allowableValue><displayName>Empty Bytes</displayName><value>empty-bytes</value><description>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.</description></allowableValue><allowableValue><displayName>Skip Field</displayName><value>skip-field</value><description>Skip the field (don't process it at all).</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Column Family</name><displayName>Column Family</displayName><description>The Column Family to use when inserting data into HBase</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>hbase-default-vis-string</name><displayName>Default Visibility String</displayName><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.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>put-hb-rec-visibility-record-path</name><displayName>Visibility String Record Path Root</displayName><description>A record path that points to part of the record which contains a path to a mapping of visibility strings to record paths</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>timestamp-field-name</name><displayName>Timestamp Field Name</displayName><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.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Batch Size</name><displayName>Batch Size</displayName><description>The maximum number of records to be sent to HBase at any one time from the record set.</description><defaultValue>1000</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Complex Field Strategy</name><displayName>Complex Field Strategy</displayName><description>Indicates how to handle complex fields, i.e. fields that do not have a single text value.</description><defaultValue>Text</defaultValue><allowableValues><allowableValue><displayName>Fail</displayName><value>Fail</value><description>Route entire FlowFile to failure if any elements contain complex values.</description></allowableValue><allowableValue><displayName>Warn</displayName><value>Warn</value><description>Provide a warning and do not include field in row sent to HBase.</description></allowableValue><allowableValue><displayName>Ignore</displayName><value>Ignore</value><description>Silently ignore and do not include in row sent to HBase.</description></allowableValue><allowableValue><displayName>Text</displayName><value>Text</value><description>Use the string representation of the complex field as the value of the given column.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>Field Encoding Strategy</name><displayName>Field Encoding Strategy</displayName><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.</description><defaultValue>String</defaultValue><allowableValues><allowableValue><displayName>String</displayName><value>String</value><description>Stores the value of each field as a UTF-8 String.</description></allowableValue><allowableValue><displayName>Bytes</displayName><value>Bytes</value><description>Stores the value of each field as the byte representation of the type derived from the record.</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><dynamicProperties><dynamicProperty><name>visibility.&lt;COLUMN FAMILY&gt;</name><value>visibility label for &lt;COLUMN FAMILY&gt;</value><description>Visibility label for everything under that column family when a specific label for a particular column qualifier is not available.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty><dynamicProperty><name>visibility.&lt;COLUMN FAMILY&gt;.&lt;COLUMN QUALIFIER&gt;</name><value>visibility label for &lt;COLUMN FAMILY&gt;:&lt;COLUMN QUALIFIER&gt;.</value><description>Visibility label for the specified column qualifier qualified by a configured column family.</description><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope></dynamicProperty></dynamicProperties><relationships><relationship><name>success</name><description>A FlowFile is routed to this relationship after it has been successfully stored in HBase</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>A FlowFile is routed to this relationship if it cannot be sent to HBase</description><autoTerminated>false</autoTerminated></relationship></relationships><readsAttributes><readsAttribute><name>restart.index</name><description>Reads restart.index when it needs to replay part of a record set that did not get into HBase.</description></readsAttribute></readsAttributes><writesAttributes><writesAttribute><name>restart.index</name><description>Writes restart.index when a batch fails to be insert into HBase</description></writesAttribute></writesAttributes><supportsBatching>true</supportsBatching><eventDriven>true</eventDriven><inputRequirement>INPUT_REQUIRED</inputRequirement></extension><extension><name>org.apache.nifi.hbase.ScanHBase</name><type>PROCESSOR</type><description>Scans and fetches rows from an HBase table. This processor may be used to fetch rows from hbase table by specifying a range of rowkey values (start and/or end ),by time range, by filter expression, or any combination of them. Order of records can be controlled by a property ReversedNumber of rows retrieved by the processor can be limited.</description><tags><tag>hbase</tag><tag>scan</tag><tag>fetch</tag><tag>get</tag></tags><properties><property><name>scanhbase-client-service</name><displayName>HBase Client Service</displayName><description>Specifies the Controller Service to use for accessing HBase.</description><controllerServiceDefinition><className>org.apache.nifi.hbase.HBaseClientService</className><groupId>org.apache.nifi</groupId><artifactId>nifi-standard-services-api-nar</artifactId><version>1.22.0</version></controllerServiceDefinition><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-table-name</name><displayName>Table Name</displayName><description>The name of the HBase Table to fetch from.</description><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>hbase-fetch-row-authorizations</name><displayName>Authorizations</displayName><description>The list of authorizations to pass to the scanner. This will be ignored if cell visibility labels are not in use.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-start-rowkey</name><displayName>Start rowkey</displayName><description>The rowkey to start scan from.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-end-rowkey</name><displayName>End rowkey</displayName><description>The row key to end scan by.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-time-range-min</name><displayName>Time range min</displayName><description>Time range min value. Both min and max values for time range should be either blank or provided.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-time-range-max</name><displayName>Time range max</displayName><description>Time range max value. Both min and max values for time range should be either blank or provided.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-limit</name><displayName>Limit rows</displayName><description>Limit number of rows retrieved by scan.</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-reversed-order</name><displayName>Reversed order</displayName><description>Set whether this scan is a reversed one. This is false by default which means forward(normal) scan.</description><defaultValue>false</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-bulk-size</name><displayName>Max rows per flow file</displayName><description>Limits number of rows in single flow file content. Set to 0 to avoid multiple flow files.</description><defaultValue>0</defaultValue><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-filter-expression</name><displayName>Filter expression</displayName><description>An HBase filter expression that will be applied to the scan. This property can not be used when also using the Columns property. Example: "ValueFilter( =, 'binaryprefix:commit' )"</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-columns</name><displayName>Columns</displayName><description>An optional comma-separated list of "&lt;colFamily&gt;:&lt;colQualifier&gt;" pairs to fetch. To return all columns for a given family, leave off the qualifier such as "&lt;colFamily1&gt;,&lt;colFamily2&gt;".</description><required>false</required><sensitive>false</sensitive><expressionLanguageSupported>true</expressionLanguageSupported><expressionLanguageScope>FLOWFILE_ATTRIBUTES</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-json-format</name><displayName>JSON Format</displayName><description>Specifies how to represent the HBase row as a JSON document.</description><defaultValue>full-row</defaultValue><allowableValues><allowableValue><displayName>full-row</displayName><value>full-row</value><description>Creates a JSON document with the format: {"row":&lt;row-id&gt;, "cells":[{"fam":&lt;col-fam&gt;, "qual":&lt;col-val&gt;, "val":&lt;value&gt;, "ts":&lt;timestamp&gt;}]}.</description></allowableValue><allowableValue><displayName>col-qual-and-val</displayName><value>col-qual-and-val</value><description>Creates a JSON document with the format: {"&lt;col-qual&gt;":"&lt;value&gt;", "&lt;col-qual&gt;":"&lt;value&gt;".</description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-encode-charset</name><displayName>Encode Character Set</displayName><description>The character set used to encode the JSON representation of the row.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>scanhbase-decode-charset</name><displayName>Decode Character Set</displayName><description>The character set used to decode data from HBase.</description><defaultValue>UTF-8</defaultValue><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property><property><name>block-cache</name><displayName>Block Cache</displayName><description>The Block Cache to enable/disable block cache on HBase scan.</description><defaultValue>true</defaultValue><allowableValues><allowableValue><displayName>true</displayName><value>true</value><description></description></allowableValue><allowableValue><displayName>false</displayName><value>false</value><description></description></allowableValue></allowableValues><required>true</required><sensitive>false</sensitive><expressionLanguageSupported>false</expressionLanguageSupported><expressionLanguageScope>NONE</expressionLanguageScope><dynamicallyModifiesClasspath>false</dynamicallyModifiesClasspath><dynamic>false</dynamic></property></properties><relationships><relationship><name>success</name><description>All successful fetches are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>failure</name><description>All failed fetches are routed to this relationship.</description><autoTerminated>false</autoTerminated></relationship><relationship><name>original</name><description>The original input file will be routed to this destination, even if no rows are retrieved based on provided conditions.</description><autoTerminated>false</autoTerminated></relationship></relationships><writesAttributes><writesAttribute><name>hbase.table</name><description>The name of the HBase table that the row was fetched from</description></writesAttribute><writesAttribute><name>mime.type</name><description>Set to application/json when using a Destination of flowfile-content, not set or modified otherwise</description></writesAttribute><writesAttribute><name>hbase.rows.count</name><description>Number of rows in the content of given flow file</description></writesAttribute><writesAttribute><name>scanhbase.results.found</name><description>Indicates whether at least one row has been found in given hbase table with provided conditions. Could be null (not present) if transfered to FAILURE</description></writesAttribute></writesAttributes><inputRequirement>INPUT_REQUIRED</inputRequirement></extension></extensions></extensionManifest>