java - 在 Java 中将 Aerospike 与 Spark 结合使用时设置 TTL

标签 java apache-spark aerospike ttl

我是 Aerospike 的新手。我们在我们的系统中使用 Aerospike 和 Spark (Java)。

我想在每次将数据写入 Aerospike 时为数据帧设置 TTL。但是,即使从文档或互联网上我也找不到这样做的方法。

我当前的写入语法:

networkDs.write()
        .mode(SaveMode.Overwrite)
        .format("com.aerospike.spark.sql")
        .option("aerospike.set", Const.AEROSPIKE_SET)
        .option("aerospike.updateByKey", "id")
        .save();

有人可以告诉我该怎么做吗?

非常感谢。

最佳答案

我不确定我是否很好地理解你的问题,但在使用 aerospike 保存时使用 TTL ,您应该将其存储在 DataSet 的列中/DataFrame在保存之前。

注意: 生存时间 (TTL) 可以在每条记录上单独设置。

要启用 TTL 更新,并指定其他选项:

option("aerospike.ttlColumn", "expiry")

这意味着 TTL 是您的列 expiry .

我希望这会有所帮助。

如需了解更多信息,我建议您查看aerospike tutorial documentation .

关于java - 在 Java 中将 Aerospike 与 Spark 结合使用时设置 TTL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45671381/

相关文章:

apache-spark - Apache Spark 写入 s3 无法从临时文件夹移动 Parquet 文件

aerospike - 通过控制台查询时AQL截断数据

java - 带有 IntelliJ 的 opencsv

java - 搭建netty开发环境

java - java 1.4 的 json 库

java - 在 Java 中转义临时构建的 XQuery

hadoop - 如何在 Hive 中存储特殊字符?

python - Pyspark > Dataframe 将多个数组列分成多行,每行一个值

aerospike:删除集合中的所有记录

Aerospike:1422:LDT-Sub 记录打开错误