2
我是Aerospike的新手。我們正在爲我們的系統使用帶有Spark(Java)的Aerospike。在Java中使用Aerospike和Spark時設置TTL
我想每次將數據寫入Aerospike時都要爲數據幀設置TTL。但是,我甚至無法從文檔或Internet上找到這樣做的方法。
我現在寫的語法:
networkDs.write()
.mode(SaveMode.Overwrite)
.format("com.aerospike.spark.sql")
.option("aerospike.set", Const.AEROSPIKE_SET)
.option("aerospike.updateByKey", "id")
.save();
有人可以告訴我該怎麼做?
非常感謝。
感謝您的快速響應。實際上,當我打印輸出時(__ttl),當前模式已經有TTL的默認列。我是否還應該將上面的選項行包含到寫入操作中?此外,我沒有參數來指定確切的TTL,例如300或500? – tuancoltech
是@tuancoltech。您需要指定列,我不確定是否有默認設置。 – eliasah
我剛剛通過在我的對象中添加一個expiry字段進行測試,並且它可以工作。然而,通過這種方式,我們總是必須在我們原來的數據對象中創建一個額外的字段,這在我的拙見中是有點多餘的,因爲我認爲Aerospike有自己的機制來管理行的到期時間,而不管對象包含什麼信息。你覺得呢,@eliasah? – tuancoltech