Spark DataFrame的空值形式和空值和非空值之间的相互转换

我的未来我决定 提交于 2020-02-21 22:51:41

1.空值替换为其他值

建df时的空值表示形式为:null

null

val df = Seq("a", null, "c", "b").toDF("col1")
df.show()
var df4 = df.na.fill(value="qqq",Array[String]("col1"))
df4.show()
df: org.apache.spark.sql.DataFrame = [col1: string]
+----+
|col1|
+----+
|   a|
|null|
|   c|
|   b|
+----+

df4: org.apache.spark.sql.DataFrame = [col1: string]
+----+
|col1|
+----+
|   a|
| qqq|
|   c|
|   b|
+----+

2.其他值转换为空值

此时的空值形式为

“null”

val df2 = df.withColumn("col1", regexp_replace(col("col1"), "NullNone", "null"))
df2.show()

df2: org.apache.spark.sql.DataFrame = [col1: string]
+----+
|col1|
+----+
|   a|
|null|
|   c|
|   b|
+----+

val df3 = df2.na.fill(value="qqq",Array[String]("col1"))
df3.show()


df3: org.apache.spark.sql.DataFrame = [col1: string]
+----+
|col1|
+----+
|   a|
| qqq|
|   c|
|   b|
+----+


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!