如何使用 Spark Dataframe 读写 Cassandra table?

How to read and write a Cassandra table using Spark Dataframe?

所以,我发现当我们必须使用 Cassandra 键空间和 table 名称创建数据框时,下面给出的一段代码将完成这项工作。

val df = spark.read.format("org.apache.spark.sql.cassandra")\
  .options(Map("table" -> "table_name", "keyspace" -> "keyspace_name"))\
  .load()

现在,在修改了上面的df(dataframe)之后,我想通过覆盖初始内容将其恢复到原来的table。

我试过写而不是读,但它不起作用。

如何用修改后的数据框覆盖 Cassandra table 的内容?

write 工作正常(示例来自 documentation):

df.write
  .format("org.apache.spark.sql.cassandra")
  .options(Map("table" -> "words_copy", "keyspace" -> "test"))
  .mode(org.apache.spark.sql.SaveMode.Append)
  .save()

但是回写需要注意,如果修改了分区&聚类列的内容,不会覆盖数据,而是插入新的数据...