我正在通过Cassandra apink Sink保存POJO。
如何在此Cassandra水槽中设置“生存时间”?
关于, 阿里
答案 0 :(得分:0)
这是我的答案:
// Write to cassandra
CassandraSink.addSink(metricPredictions)
.setClusterBuilder(new ClusterBuilder() {
@Override
protected Cluster buildCluster(Cluster.Builder b) {
return b.addContactPoint((String) CASSANDRA_MAP.get(PropertiesEnum.HOST.getKey()))
.withPort((int) CASSANDRA_MAP.get(PropertiesEnum.PORT.getKey()))
.withAuthProvider(new PlainTextAuthProvider((String) CASSANDRA_MAP.get(PropertiesEnum.USERNAME.getKey()),
(String) CASSANDRA_MAP.get(PropertiesEnum.PASSWORD.getKey())))
.withReconnectionPolicy(new ConstantReconnectionPolicy((Integer) CASSANDRA_MAP.get(PropertiesEnum.RECONNECT_DELAY_IN_MS.getKey())))
.build();
}
})
.setMapperOptions(() -> new Mapper.Option[]{Mapper.Option.saveNullFields(true), Mapper.Option.ttl(60)})
.build()
.setParallelism((int) CASSANDRA_MAP.get(PropertiesEnum.PARALLELISM.getKey()));
我希望它会有所帮助:)
通过TTL(以秒为单位)
关于, 阿里