多くの努力をした後、これに対する解決策を見つけました。この解決策は非常に単純でクレイジーです。これは、spark を使用して非常にうまく行うことができます。
私たちがしていたこと(うまくいきませんでした):
// Reading from first cassandra cluster
dataframe = cassandraSQLContext.read().format("org.apache.spark.sql.cassandra").options("otherOptionsMap").option("spark.cassandra.connection.host","firstClusterIP").load();
// Writing to second cassandra cluster
dataframe.write.mode("saveMode").options("otherOptionsMap").option("spark.cassandra.connection.host","secondClusterIP").save();
何がうまくいったか:
// Reading from first cassandra cluster
dataframe = cassandraSQLContext.read().format("org.apache.spark.sql.cassandra").options("otherOptionsMap").option("spark_cassandra_connection_host","firstClusterIP").load();
// Writing to second cassandra cluster
dataframe.write.mode("saveMode").options("otherOptionsMap")option("spark_cassandra_connection_host","secondClusterIP").save();
そうです、spark-cassandra ホスト プロパティのプロパティのperiod( .
) を underscore( _
)に変更するだけです。これが spark-cassandra コネクタのバグかどうかはわかりません。