我需要在Spark 2.4.1中执行左连接,以保留Null值。
在研究的过程中,我发现了以下解决方案:Including null values in an Apache Spark Join似乎就是这样。每次我调用eqNullSafe时,都会收到错误消息“'Column'对象不可调用”
我尝试了链接下提供的示例:
numbers_df = sc.parallelize([
("123", ), ("456", ), (None, ), ("", )
]).toDF(["numbers"])
letters_df = sc.parallelize([
("123", "abc"), ("456", "def"), (None, "zzz"), ("", "hhh")
]).toDF(["numbers", "letters"])
numbers_df.join(letters_df, numbers_df.numbers.eqNullSafe(letters_df.numbers))
有人知道为什么这段代码会引发这些问题吗?我正在AWS Glue开发人员终端节点上使用SageMaker笔记本。可能是由于缺少进口吗?
除了针对胶水的进口以外,这些是我所做的进口:
from pyspark.sql import *
from pyspark.sql import functions as F