使用spark datastax连接器忽略带有数据框的空值

时间:2019-08-26 14:28:00

标签: dataframe apache-spark cassandra datastax connector

我们有一个Cassandra模式,其中包含50多个列,我们正在通过使用Spark(数据框不是rdd)转换数据,从多个数据源向其中插入数据。

由于我们的数据稀疏,因此我们遇到了许多墓碑问题。

已经尝试过spark.cassandra.output.ignoreNulls=true,但无法正常工作。什么是正确的配置,以便不在cassandra中写入空值?

我正在使用Zeppelin运行我的Spark代码并将数据推送到C *

1 个答案:

答案 0 :(得分:1)

找出解决方案:

文档https://github.com/datastax/spark-cassandra-connector/blob/master/doc/14_data_frames.mdSetting 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()