【发布时间】:2022-06-12 21:03:03
【问题描述】:
使用 spark SQL 语句时,我得到了奇怪的结果,例如:
select * from mytab where somecol NOT IN ('ABC','DEF')
如果我将 somecol 设置为 ABC,它不会返回任何内容。如果我将它设置为 XXX,它会返回一行。
但是,如果我在 CSV 数据中将该列留空,例如 ,(因此该值被读取为 null),它仍然不会返回任何内容,即使 null 不在值列表中。
即使重写为 NOT(somecol IN ('ABC','DEF')),情况仍然如此。
我觉得这与 null 和字符串之间的比较有关,但我不确定如何处理以 IN 或 NOT IN 子句结尾的 null 列值。
我需要先将它们转换为空字符串吗?
【问题讨论】:
标签: apache-spark apache-spark-sql