3

私はspark-cassandra-connectorでカッサンドラのテーブルに配置したいすべてのデータを持つpythonストリームソースデータフレームdfを持っています。私は2つの方法でこれをやって試してみた:Cassandraにストリーミングデータセットを書き込む方法は?

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?

答えて

6

Spark Cassandra Connectorには現在カッサンドラのストリーミングはありませんSinkです。独自のSinkを実装するか、利用可能になるまで待つ必要があります。

ScalaまたはJavaを使用している場合は、foreach演算子を使用し、Using Foreachに記載されているようにForeachWriterを使用できます。

+1

ストリーミングデータフレームを非ストリーミングデータフレームに変換する方法はありますか? – user2361174

+2

いいえ、変換はありません(少なくとも私が知っているものはありません) – RussS

+0

Javaの実例がありますか?すべてのソリューションがScalaの実装された特性を必要とする 'CassandraConnector.withSessionDo'に来るように見えます。 KotlinやJavaで運がないので。 – Reith

関連する問題