我有一个Python流数据源DataFrame df
,其中包含所有我想要放入一个Cassandra表格的数据,并且我想使用spark-cassandra-connector。我已经尝试过两种方法:
df.write \
.format("org.apache.spark.sql.cassandra") \
.mode('append') \
.options(table="myTable",keyspace="myKeySpace") \
.save()
query = df.writeStream \
.format("org.apache.spark.sql.cassandra") \
.outputMode('append') \
.options(table="myTable",keyspace="myKeySpace") \
.start()
query.awaitTermination()
然而我一直在遇到这些错误,分别如下:
pyspark.sql.utils.AnalysisException: "'write' can not be called on streaming Dataset/DataFrame;
并且
java.lang.UnsupportedOperationException: Data source org.apache.spark.sql.cassandra does not support streamed writing.
有没有办法将我流式处理的DataFrame发送到我的Cassandra表中?
CassandraConnector.withSessionDo
,所以Kotlin或Java没有成功的机会。 - reithaddbatch
方法中似乎Spark不允许您对数据框调用.write()
。它会抛出OP分享的错误。有人知道这里的替代方案吗? - DataGeek