Apache Flink:如何设置Cassandra Sink的生存时间?

时间:2019-02-11 09:23:18

标签: cassandra apache-flink ttl

我正在通过Cassandra apink Sink保存POJO。

如何在此Cassandra水槽中设置“生存时间”?

关于, 阿里

1 个答案:

答案 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(以秒为单位)

关于, 阿里