【发布时间】:2018-11-24 18:46:40
【问题描述】:
我想将大量数据从 Spark 插入 Cassandra。数据具有确定 ttl 的时间戳列。但是,这对于每一行都不同。我的问题是,如何在从 Spark 批量插入数据时处理 ttl。
我目前的实现 -
raw_data_final.write.format("org.apache.spark.sql.cassandra")
.mode(SaveMode.Overwrite).options(Map("table" -> offerTable ,
"keyspace" -> keySpace, "spark.cassandra.output.ttl" -> ttl_seconds)).save
这里 raw_data_final 有大约一百万条记录,每条记录产生不同的 ttl。那么,有没有办法进行批量插入并以某种方式从 raw_data 中的列指定 ttl。
谢谢。
【问题讨论】:
-
你能解释更多吗?您将如何使用时间戳列作为 ttl?
-
有一个 expr_dt 列,我可以从中计算 ttl。 (ttl = expr_dt - 当前时间戳)。所以,我可以将 ttl 作为我的输入列之一。
标签: apache-spark cassandra spark-cassandra-connector ttl