我在Cassandra有一个表,此表中的一列有一个Double类型,值为0.
当我尝试使用spark读取此数据时:
val dataFromCassandra = sqlContext.read
.cassandraFormat("table_name", SomeKeyspace)
.load()
它返回null
值而不是0。
请帮助!!!
答案 0 :(得分:3)
不熟悉Cassandra数据源,但您可以使用null
将某个列的所有0
替换为某个常量值(例如coalesce
):
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|
// +---+-----+