Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 如何使用spark Cassandra连接器将数据集写入Cassandra表?_Apache Spark_Cassandra_Apache Spark Sql_Spark Structured Streaming_Spark Cassandra Connector - Fatal编程技术网

Apache spark 如何使用spark Cassandra连接器将数据集写入Cassandra表?

Apache spark 如何使用spark Cassandra连接器将数据集写入Cassandra表?,apache-spark,cassandra,apache-spark-sql,spark-structured-streaming,spark-cassandra-connector,Apache Spark,Cassandra,Apache Spark Sql,Spark Structured Streaming,Spark Cassandra Connector,我试图将结构化的蒸汽数据集保存到给定的Cassandra表中 我使用的是datastax cassandra连接器版本spark-cassandra-connector_2-11.jar 当我试图像下面这样保存数据集时 dataSet .writeStream() .format("org.apache.spark.sql.cassandra") .option("table",table) .option("keyspace", keyspace) .o

我试图将结构化的蒸汽数据集保存到给定的Cassandra表中

我使用的是datastax cassandra连接器版本spark-cassandra-connector_2-11.jar

当我试图像下面这样保存数据集时

dataSet
    .writeStream()
    .format("org.apache.spark.sql.cassandra")
    .option("table",table)
    .option("keyspace", keyspace)
    .outputMode("append")
    .start();
抛出错误:

数据源org.apache.spark.sql.cassandra不支持流式传输 书写


应该做什么以及如何处理此问题?

有几个选项:

  • 有了Spark Cassandra Connector(SCC)2.x版、Spark<2.4版和OSS Cassandra,唯一的选择就是实现定制的
    forEach
    操作,就像它的一样
  • 使用Spark Cassandra连接器版本2.x、Spark>=2.4和OSS Cassandra,我们可以使用
    forEachBatch
    ,只需进行正常的写入操作,如
  • 对于DSE,我们可以只使用
    data.writeStream().format(“org.apache.spark.sql.cassandra”)
    ,因为DSE Analytics有定制的SCC
  • 从SCC2.5开始,特定于DSE的功能对OSS Cassandra也是开放的,因此我们可以像对DSE一样使用它

  • 也许这会有所帮助:@Shaido,谢谢,但我使用的是开源的Cassandra 3.x版本。不是DSE。有什么建议吗,其他人怎么样?老实说,我自己也不太熟悉。你在上面的链接中看到第二个答案了吗?看起来它应该适用于Cassandra(而不是DSE)。可能是