我不明白为什么在最后阶段没有任何保存或追加数据操作
I don't understand why there isn't any save or append data operation at the last stage
df.writeStream
.foreachBatch((batchDF: DataFrame, batchId: Long) =>
batchDF.write
.format("org.apache.spark.sql.cassandra")
.cassandraFormat(cassandraTable, cassandraKeyspace, cassandraCluster)
.mode("append")
.save())
.option("checkpointLocation", checkpointDir)
.start()
.awaitTermination()
在代码的最后,dataframe被写入cassandra table。
通过UI检查最后阶段后,没有要执行的部分save/append-data。
我想知道为什么它不存在或者我错过了什么。
=========================== 更改我的代码后============== =============
.writeStream
// .foreachBatch((batchDF: DataFrame, batchId: Long) =>
// batchDF.write
// .format("org.apache.spark.sql.cassandra")
// .cassandraFormat(cassandraTable, cassandraKeyspace, cassandraCluster)
// .mode("append")
// .save())
.cassandraFormat(cassandraTable, cassandraKeyspace, cassandraCluster)
.option("checkpointLocation", checkpointDir)
.start()
.awaitTermination()
但我可以在 SQL 选项卡中看到 WriteToDataSourceV2。
也许它不能直接回答你的问题,但是对于Spark 3.0和SCC 3.0.0(你应该使用3.0.0-beta)你不应该使用foreachBatch,而只是通过指定写入数据as-is Cassandra 格式——因为 SCC 2.5.0 Spark Structured Streaming 是原生支持的——见公告:https://www.datastax.com/blog/2020/05/advanced-apache-cassandra-analytics-now-open-all
df.writeStream
.foreachBatch((batchDF: DataFrame, batchId: Long) =>
batchDF.write
.format("org.apache.spark.sql.cassandra")
.cassandraFormat(cassandraTable, cassandraKeyspace, cassandraCluster)
.mode("append")
.save())
.option("checkpointLocation", checkpointDir)
.start()
.awaitTermination()
在代码的最后,dataframe被写入cassandra table。
通过UI检查最后阶段后,没有要执行的部分save/append-data。
我想知道为什么它不存在或者我错过了什么。
=========================== 更改我的代码后============== =============
.writeStream
// .foreachBatch((batchDF: DataFrame, batchId: Long) =>
// batchDF.write
// .format("org.apache.spark.sql.cassandra")
// .cassandraFormat(cassandraTable, cassandraKeyspace, cassandraCluster)
// .mode("append")
// .save())
.cassandraFormat(cassandraTable, cassandraKeyspace, cassandraCluster)
.option("checkpointLocation", checkpointDir)
.start()
.awaitTermination()
但我可以在 SQL 选项卡中看到 WriteToDataSourceV2。
也许它不能直接回答你的问题,但是对于Spark 3.0和SCC 3.0.0(你应该使用3.0.0-beta)你不应该使用foreachBatch,而只是通过指定写入数据as-is Cassandra 格式——因为 SCC 2.5.0 Spark Structured Streaming 是原生支持的——见公告:https://www.datastax.com/blog/2020/05/advanced-apache-cassandra-analytics-now-open-all