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 java.lang.UnsupportedOperationException:&x27;不允许写入非空的Cassandra表_Apache Spark_Cassandra_Apache Spark Sql_Spark Streaming_Datastax Enterprise - Fatal编程技术网

Apache spark java.lang.UnsupportedOperationException:&x27;不允许写入非空的Cassandra表

Apache spark java.lang.UnsupportedOperationException:&x27;不允许写入非空的Cassandra表,apache-spark,cassandra,apache-spark-sql,spark-streaming,datastax-enterprise,Apache Spark,Cassandra,Apache Spark Sql,Spark Streaming,Datastax Enterprise,我有一个场景,我将接收由我的spark streaming程序处理的流数据,并且每个间隔的输出将附加到我现有的cassandra表中 目前,我的spark流媒体程序将生成一个数据帧,我需要将其保存在我的cassandra表中。我目前面临的问题是,当我使用下面的命令时,无法将数据/行追加到现有的cassandra表中 dff.write.format("org.apache.spark.sql.cassandra").options(Map("table" -> "xxx", "yyy" -

我有一个场景,我将接收由我的spark streaming程序处理的流数据,并且每个间隔的输出将附加到我现有的cassandra表中

目前,我的spark流媒体程序将生成一个数据帧,我需要将其保存在我的cassandra表中。我目前面临的问题是,当我使用下面的命令时,无法将数据/行追加到现有的cassandra表中

dff.write.format("org.apache.spark.sql.cassandra").options(Map("table" -> "xxx", "yyy" -> "retail")).save()
我在下面的链接中读到,他将mode=“append”传递到save方法中,但抛出语法错误

另外,我无法从下面的链接了解需要修复的位置


需要有关如何解决此问题的帮助。我正在用scala编写spark流媒体作业,我认为您必须按以下方式进行:

dff.write.format("org.apache.spark.sql.cassandra").mode(SaveMode.Append).options(Map("table" -> "xxx", "yyy" -> "retail")).save()
cassandra处理数据的方式迫使您执行所谓的“向上插入”-您必须记住,插入可能会覆盖某些行,其中已存储记录的主键与插入记录的主键相同。Cassandra是一个“写得快”的数据库,所以它在写之前不会检查数据是否存在