使用Spark并发删除并插入到Cassandra中

时间:2017-06-22 08:47:12

标签: apache-spark cassandra

我使用以下代码使用spark Cassandra连接器将我的预测结果保存到Cassandra数据库:

CassandraJavaUtil.javaFunctions(sensorDataRDD).writerBuilder(modelParamter.keyspace, "sensor_data_2",
                CassandraJavaUtil.mapToRow(SensorData2Double.class)).saveToCassandra();

数据基于以秒为单位缩放的时间戳。因此,预测的写作可以在一小时内缩放。我需要先删除所有以前的记录。删除应该在Cassandra表中的特殊列上进行,并提供其唯一键。

我不知道如何删除所有以前的记录,以确保当我使用上面的java代码插入新记录时,之后我的cassandra删除查询不会删除它们。

删除或插入行(主键)时,Cassandra列上是否存在原子性?

1 个答案:

答案 0 :(得分:0)

为什么需要删除以前的数据?

如果您正在为相同的密钥编写新数据,则会被覆盖。

如果不想删除“新”数据,可以检查值的写入时间(写入时间功能),如果它足够新鲜 - 请不要删除它。