我在这里看到了一个解决方案,但是当我尝试时它对我不起作用。
首先我导入一个cars.csv文件:
val df = sqlContext.read
.format("com.databricks.spark.csv")
.option("header", "true")
.load("/usr/local/spark/cars.csv")
如下所示:
+----+-----+-----+--------------------+-----+
|year| make|model| comment|blank|
+----+-----+-----+--------------------+-----+
|2012|Tesla| S| No comment| |
|1997| Ford| E350|Go get one now th...| |
|2015|Chevy| Volt| null| null|
然后我这样做:
df.na.fill("e",Seq("blank"))
但是空值没有改变。
谁能帮我 ?
最佳答案
这基本上很简单。您需要创建一个新的 DataFrame
.我正在使用 DataFrame df
你之前定义的。
val newDf = df.na.fill("e",Seq("blank"))
DataFrame
s 是不可变的结构。每次执行需要存储的转换时,都需要影响转换后的
DataFrame
到一个新的值。
关于scala - 替换 Spark DataFrame 中的空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33376571/