我试图将结构化的蒸汽数据集保存到给定的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不支持流式写入
应该怎么做,怎么处理?
1条答案
按热度按时间pes8fvy91#
有几种选择:
对于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;从scc3.0(目前在alpha中)开始,dse特定的功能对oss cassandra也是开放的,因此我们可以用与dse相同的方式使用它,如文档所示。