【发布时间】:2021-08-30 15:54:57
【问题描述】:
从 SQL 后台进入 databricks 并使用一些数据帧示例来连接以进行基本转换,但我在为连接后的其他转换隔离正确的 dataframe.column 时遇到问题。
对于 DF1,我有 3 列:user_id、user_ts、email。对于 DF2,我有两列:电子邮件,已转换。
以下是我的加入逻辑。这有效并返回 5 列;但是,架构中有两个电子邮件列
df3 = (df1
.join(df2, df1.email == df2.email, "outer")
)
我正在尝试对 df2 电子邮件进行一些基本转换,作为数据框字符串的一部分,但我收到错误:
“无法解析(user_id、user_ts、email、email、converted)中的列名“df2.email””
df3 = (df1
.join(df2, df1.email == df2.email, "outer")
.na.fill(False,["df2.email"])
)
如果我从 fill() 中删除 df2,则会收到列不明确的错误。
如果与第二列具有相同的列名,我如何定义要对其进行转换的列。在 SQL 中,我只是对列使用表别名谓词,但这似乎不是 pyspark 的最佳使用方式。
建议?
【问题讨论】:
标签: pyspark apache-spark-sql databricks