0

我创建了一个 AWS 粘合作业,将数据从 CSV 文件加载到 Mysql RDS 数据库。数据已成功加载,但所有 NULL 值都作为字符串插入 MySQL 表中,而不是作为 NULL。

所以如果我像这样查询我的表select * from myTable where myCol is null有 0 结果

但是当我在select * from myTable where myCol where = 'NULL'这里做的时候,我得到了结果。

相关字段的数据类型是字符串。

知道如何解决这个问题吗?

4

1 回答 1

0

对于任何感兴趣的人,我最终修改了我的 pyspark 脚本。

我将 AWS 胶水处理为字符串的所有 NULL 列转换为 null(在 Python 中为无)。

import pyspark.sql.functions as f
## ...
  def convertToNull(dfa):
 for i in dfa.columns:
  dfa = dfa.withColumn(i , f.when((f.col(i) == 'NULL') | (f.col(i) == 'null'), None).otherwise(f.col(i)))
 return dfa
## .........

于 2021-10-30T17:10:33.357 回答