如何使用 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()
但是回写需要注意,如果修改了分区&聚类列的内容,不会覆盖数据,而是插入新的数据...
所以,我发现当我们必须使用 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()
但是回写需要注意,如果修改了分区&聚类列的内容,不会覆盖数据,而是插入新的数据...