关于联表查询时NULL值的处理

1 填充NULL值

df.na.fill({"a": 0, "b": 0})

2 两个表结构相同,做full_outer联合时,要取非NULL值的数据。 以下写法,会自动取同名字段中非NULL值的一方。

df.join(df2, ["date_id"], "full_outer").select("date_id")
date_id 字段在 df和 df2 中都存在,并且两表是用date_id 做关联

3 从两个字段中取非NULL的

F.when(df.a.isNull(), df.b).otherwise(df.a).alias("new_columns")

原文地址:https://www.cnblogs.com/xiaonanmu/p/12893525.html