blob: 2318ac2315e28fca823e9459a121fe3681df480d [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>PutCassandraRecord</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;">PutCassandraRecord</h1><h2>Description: </h2><p>This is a record aware processor that reads the content of the incoming FlowFile as individual records using the configured 'Record Reader' and writes them to Apache Cassandra using native protocol version 3 or higher.</p><h3>Tags: </h3><p>cassandra, cql, put, insert, update, set, 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">Cassandra Connection Provider</td><td>cassandra-connection-provider</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>CassandraSessionProviderService<br/><strong>Implementation: </strong><a href="../../../nifi-cassandra-services-nar/1.19.1/org.apache.nifi.service.CassandraSessionProvider/index.html">CassandraSessionProvider</a></td><td id="description">Specifies the Cassandra connection providing controller service to be used to connect to Cassandra cluster.</td></tr><tr><td id="name">Cassandra Contact Points</td><td>Cassandra Contact Points</td><td></td><td id="allowable-values"></td><td id="description">Contact points are addresses of Cassandra nodes. The list of contact points should be comma-separated and in hostname:port format. Example node1:port,node2:port,.... The default client port for Cassandra is 9042, but the port(s) must be explicitly specified.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Keyspace</td><td>Keyspace</td><td></td><td id="allowable-values"></td><td id="description">The Cassandra Keyspace to connect to. If no keyspace is specified, the query will need to include the keyspace name before any table reference, in case of 'query' native processors or if the processor exposes the 'Table' property, the keyspace name has to be provided with the table name in the form of &lt;KEYSPACE&gt;.&lt;TABLE&gt;<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Table name</strong></td><td>put-cassandra-record-table</td><td></td><td id="allowable-values"></td><td id="description">The name of the Cassandra table to which the records have to be written.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Statement Type</strong></td><td>put-cassandra-record-statement-type</td><td id="default-value">INSERT</td><td id="allowable-values"><ul><li>UPDATE <img src="../../../../../html/images/iconInfo.png" alt="Use an UPDATE statement." title="Use an UPDATE statement."></img></li><li>INSERT <img src="../../../../../html/images/iconInfo.png" alt="Use an INSERT statement." title="Use an INSERT statement."></img></li><li>Use cql.statement.type Attribute <img src="../../../../../html/images/iconInfo.png" alt="The value of the cql.statement.type Attribute will be used to determine which type of statement (UPDATE, INSERT) will be generated and executed" title="The value of the cql.statement.type Attribute will be used to determine which type of statement (UPDATE, INSERT) will be generated and executed"></img></li></ul></td><td id="description">Specifies the type of CQL Statement to generate.</td></tr><tr><td id="name">Update Keys</td><td>put-cassandra-record-update-keys</td><td></td><td id="allowable-values"></td><td id="description">A comma-separated list of column names that uniquely identifies a row in the database for UPDATE statements. If the Statement Type is UPDATE and this property is not set, the conversion to CQL will fail. This property is ignored if the Statement Type is not UPDATE.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Update Method</td><td>put-cassandra-record-update-method</td><td id="default-value">Set</td><td id="allowable-values"><ul><li>Increment <img src="../../../../../html/images/iconInfo.png" alt="Use an increment operation (+=) for the Update statement." title="Use an increment operation (+=) for the Update statement."></img></li><li>Decrement <img src="../../../../../html/images/iconInfo.png" alt="Use a decrement operation (-=) for the Update statement." title="Use a decrement operation (-=) for the Update statement."></img></li><li>Set <img src="../../../../../html/images/iconInfo.png" alt="Use a set operation (=) for the Update statement." title="Use a set operation (=) for the Update statement."></img></li><li>Use cql.update.method Attribute <img src="../../../../../html/images/iconInfo.png" alt="The value of the cql.update.method Attribute will be used to determine which operation (Set, Increment, Decrement) will be used to generate and execute the Update statement." title="The value of the cql.update.method Attribute will be used to determine which operation (Set, Increment, Decrement) will be used to generate and execute the Update statement."></img></li></ul></td><td id="description">Specifies the method to use to SET the values. This property is used if the Statement Type is UPDATE and ignored otherwise.</td></tr><tr><td id="name">Client Auth</td><td>Client Auth</td><td id="default-value">REQUIRED</td><td id="allowable-values"><ul><li>WANT</li><li>REQUIRED</li><li>NONE</li></ul></td><td id="description">Client authentication policy when connecting to secure (TLS/SSL) cluster. Possible values are REQUIRED, WANT, NONE. This property is only used when an SSL Context has been defined and enabled.</td></tr><tr><td id="name">Username</td><td>Username</td><td></td><td id="allowable-values"></td><td id="description">Username to access the Cassandra cluster<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Password</td><td>Password</td><td></td><td id="allowable-values"></td><td id="description">Password to access the Cassandra cluster<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Record Reader</strong></td><td>put-cassandra-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 type of Record Reader controller service to use for parsing the incoming data and determining the schema</td></tr><tr><td id="name"><strong>Batch size</strong></td><td>put-cassandra-record-batch-size</td><td id="default-value">100</td><td id="allowable-values"></td><td id="description">Specifies the number of 'Insert statements' to be grouped together to execute as a batch (BatchStatement)<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Consistency Level</td><td>Consistency Level</td><td id="default-value">SERIAL</td><td id="allowable-values"><ul><li>SERIAL</li><li>LOCAL_SERIAL</li></ul></td><td id="description">The strategy for how many replicas must respond before results are returned.</td></tr><tr><td id="name">Batch Statement Type</td><td>put-cassandra-record-batch-statement-type</td><td id="default-value">LOGGED</td><td id="allowable-values"><ul><li>LOGGED <img src="../../../../../html/images/iconInfo.png" alt="Use a LOGGED batch statement" title="Use a LOGGED batch statement"></img></li><li>UNLOGGED <img src="../../../../../html/images/iconInfo.png" alt="Use an UNLOGGED batch statement" title="Use an UNLOGGED batch statement"></img></li><li>COUNTER <img src="../../../../../html/images/iconInfo.png" alt="Use a COUNTER batch statement" title="Use a COUNTER batch statement"></img></li><li>Use cql.batch.statement.type Attribute <img src="../../../../../html/images/iconInfo.png" alt="The value of the cql.batch.statement.type Attribute will be used to determine which type of batch statement (LOGGED, UNLOGGED or COUNTER) will be used to generate and execute the Update statement." title="The value of the cql.batch.statement.type Attribute will be used to determine which type of batch statement (LOGGED, UNLOGGED or COUNTER) will be used to generate and execute the Update statement."></img></li></ul></td><td id="description">Specifies the type of 'Batch Statement' to be used.</td></tr><tr><td id="name">SSL Context Service</td><td>SSL Context Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>SSLContextService<br/><strong>Implementations: </strong><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a><br/><a href="../../../nifi-ssl-context-service-nar/1.19.1/org.apache.nifi.ssl.StandardSSLContextService/index.html">StandardSSLContextService</a></td><td id="description">The SSL Context Service used to provide client certificate information for TLS/SSL connections.</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>A FlowFile is transferred to this relationship if the operation completed successfully.</td></tr><tr><td>failure</td><td>A FlowFile is transferred to this relationship if the operation failed.</td></tr></table><h3>Reads Attributes: </h3><table id="reads-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>cql.statement.type</td><td>If 'Use cql.statement.type Attribute' is selected for the Statement Type property, the value of the cql.statement.type Attribute will be used to determine which type of statement (UPDATE, INSERT) will be generated and executed</td></tr><tr><td>cql.update.method</td><td>If 'Use cql.update.method Attribute' is selected for the Update Method property, the value of the cql.update.method Attribute will be used to determine which operation (Set, Increment, Decrement) will be used to generate and execute the Update statement. Ignored if the Statement Type property is not set to UPDATE</td></tr><tr><td>cql.batch.statement.type</td><td>If 'Use cql.batch.statement.type Attribute' is selected for the Batch Statement Type property, the value of the cql.batch.statement.type Attribute will be used to determine which type of batch statement (LOGGED, UNLOGGED, COUNTER) will be generated and executed</td></tr></table><h3>Writes Attributes: </h3>None specified.<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>