Setting row-level TTL values from Kafka fields
Set row-level TTL from Kafka fields.
__ttl. The format
is:topic.my_topic.my_ks.my_table.mapping=col1=key.f1, col2=value.f1, __ttl=value.f2ttl value to be used while inserting the record, by
mapping __ttl or .ttl static configuration, you can further specify a
timeUnit. The default is SECONDS. If you want to specify a
ttl value in a unit such as HOURS, set
timeUnit to HOURS. DataStax Apache Kafka Connector
automatically transforms the value to SECONDS, which is the DSE
ttl unit. The transformation also applies for static
.ttl field configuration:
topic.my_topic.my_ks.my_table.ttlTimeUnit=SECONDSIf the ttl is provided via mapping, such as
topic.my_topic.my_ks.my_table.mapping=__ttl=value.f2, and by the
.ttl static configuration
(topic.my_topic.my_ks.my_table.ttl=86400) the ttl value
from the mapping takes precedence and is used. If you set ttl in both
resources, DataStax Apache Kafka Connector writes a warning message in the log file.
When you configure
topic.<topic-name>.<keyspace-name>.<table-name>.ttl, all rows for
that topic table will have this same TTL value. DataStax Kafka Connector
appends AND TTL <configured-ttl-value> to the INSERT
statement for those rows.
ttl field value is negative, an
error is thrown during the insert of the record into a database table. However, because the
Kafka connector is a streaming system, DataStax Apache Kafka Connector resorts to inserting
the record without the ttl value. 