Execute provided Cassandra Query Language (CQL) statement on a Cassandra 1.x or 2.x cluster. The content of an incoming FlowFile is expected to be the CQL command to execute. The CQL command may use the ? to escape parameters. In this case, the parameters to use must exist as FlowFile attributes with the naming convention cql.args.N.type and cql.args.N.value, where N is a positive integer. The cql.args.N.type is expected to be a lowercase string indicating the Cassandra type.


cassandra, cql, put, insert, update, set


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property is considered “sensitive”, meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the file has an entry for the property nifi.sensitive.props.key.

Name Default Value Allowable Values Description
Cassandra Contact Points 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.
Keyspace The Cassandra Keyspace to connect to. If no keyspace is specified, the query will need to include the keyspace name before any table reference.
SSL Context Service Controller Service API:
The SSL Context Service used to provide client certificate information for TLS/SSL connections.
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.
Username Username to access the Cassandra cluster
Password Password to access the Cassandra cluster
Sensitive Property: true
Consistency Level ONE * ANY
The strategy for how many replicas must respond before results are returned.
Character Set UTF-8 Specifies the character set of the record data.
Max Wait Time 0 seconds The maximum amount of time allowed for a running CQL select query. Must be of format <duration> <TimeUnit> where <duration> is a non-negative integer and TimeUnit is a supported Time Unit, such as: nanos, millis, secs, mins, hrs, days. A value of zero means there is no limit.


Name Description
retry A FlowFile is transferred to this relationship if the statement cannot be executed successfully but attempting the operation again may succeed.
failure CQL statement execution failed.
success Successfully executed CQL statement.

Reads Attributes:

Name Description
cql.args.N.type Incoming FlowFiles are expected to be parameterized CQL statements. The type of each parameter is specified as a lowercase string corresponding to the Cassandra data type (text, int, boolean, e.g.). In the case of collections, the primitive type(s) of the elements in the collection should be comma-delimited, follow the collection type, and be enclosed in angle brackets (< and >), for example set<text> or map<timestamp, int>.
cql.args.N.value Incoming FlowFiles are expected to be parameterized CQL statements. The value of the parameters are specified as cql.args.1.value, cql.args.2.value, cql.args.3.value, and so on. The type of the cql.args.1.value parameter is specified by the cql.args.1.type attribute.

Writes Attributes:

None specified.