Scala Spark将0转换为null
我在Cassandra中有一个表,这个表中的一列有一个Double类型,值为0 当我尝试使用spark读取此数据时:Scala Spark将0转换为null,scala,apache-spark,cassandra,Scala,Apache Spark,Cassandra,我在Cassandra中有一个表,这个表中的一列有一个Double类型,值为0 当我尝试使用spark读取此数据时: val dataFromCassandra = sqlContext.read .cassandraFormat("table_name", SomeKeyspace) .load() 它返回null值,而不是0 请帮忙 不熟悉Cassandra数据源,但您可以使用coalesce将某列的所有nulls替换为某个常量值(例如0): df.show() // +---+-
val dataFromCassandra = sqlContext.read
.cassandraFormat("table_name", SomeKeyspace)
.load()
它返回null
值,而不是0
请帮忙 不熟悉Cassandra数据源,但您可以使用
coalesce
将某列的所有null
s替换为某个常量值(例如0
):
df.show()
// +---+-----+
// | id|value|
// +---+-----+
// | 1| null|
// | 2| null|
// +---+-----+
df.withColumn("value", coalesce($"value", lit(0.0))).show()
// +---+-----+
// | id|value|
// +---+-----+
// | 1| 0.0|
// | 2| 0.0|
// +---+-----+
使用spark 1.6,您能否在数据框中显示该列的类型(来自Cassandra.printSchema()的
dataFromCassandra.printSchema()的结果)?类型为double。这很有帮助,tnx您可以