【发布时间】:2020-10-13 08:50:08
【问题描述】:
我正在从 S3 读取 DF。这就是我的架构的样子 -
文件 1 -
root
|-- patient: long (nullable = true)
|-- payment1: double (nullable = true)
文件 2 -
root
|-- patient: long (nullable = true)
|-- payment2: double (nullable = true)
我正在尝试合并支付字段,但无法成功。我需要这样做,因为我需要添加两个付款字段,并且它们都可以为 NULL 或空。
到目前为止,我已经尝试了以下方法 -
-
df.na.fill- 不起作用,因为我有空字符串 .select(when(col("payment1") === "", 0.0).otherwise(col("payment1"))
当我添加两列时使用上述两种方法,如果一个值为 NULL 或空,我仍然会得到一个 NULL。
【问题讨论】:
-
你在哪里有“空字符串”?根据您的架构,根本没有字符串
-
也许使用
coalesce函数?when(coalesce(col("payment1"), col("payment2")).isNull, 0.0)
标签: scala apache-spark aws-glue