我们有一个Cassandra模式,其中包含50多个列,我们正在通过使用Spark(数据框不是rdd)转换数据,从多个数据源向其中插入数据。
由于我们的数据稀疏,因此我们遇到了许多墓碑问题。
已经尝试过spark.cassandra.output.ignoreNulls=true
,但无法正常工作。什么是正确的配置,以便不在cassandra中写入空值?
我正在使用Zeppelin运行我的Spark代码并将数据推送到C *
答案 0 :(得分:1)
找出解决方案:
文档https://github.com/datastax/spark-cassandra-connector/blob/master/doc/14_data_frames.md下Setting Connector Specific Options on Datasets
主题下有一个提示。
确切的代码如下:
transformedData.write.format("org.apache.spark.sql.cassandra").option("header","false").option("spark.cassandra.output.ignoreNulls", true).mode("append").options(Map( "table" -> table_name, "keyspace" -> keyspace_name)).save()