eqNullSafe函数在spark 2.4.1中引发错误

时间:2019-04-30 06:30:24

标签: python pyspark pyspark-sql aws-glue

我需要在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

0 个答案:

没有答案