【发布时间】:2020-10-21 07:22:54
【问题描述】:
我想使用 Pyspark 数据框实现 beolw sql 连接条件。
select *
FROM tableA A, tablec C, tableB B
A.sno = C.sno AND A.sno = B.sno AND
A.sdt = C.sdt AND A.sdt = B.sdt
AND A.sid = C.sid AND A.sid = B.sid
我试过下面的代码(df_A0,df_C0,df_B0 是 3 个不同的数据帧)
join_data = df_A0.join(df_C0, (df_A0.sno===df_C0.sno).join(df_B0, (df_A0.sno===df_B0.sno)) & \
(df_A0.sdt === df_C0.sdt) & (df_A0.sdt === df_B0.sdt) & (df_A0.sid === df_C0.sid) & \
df_A0.sid = df_B0.sid,how='inner'))
但是当我执行它时显示无效的语法错误。
有人可以指导我如何在 pyspark 数据帧中编写它。
【问题讨论】:
-
python
===中没有三等分。检查你的括号,它们没有正确打开/关闭。invalid syntax error意味着你写了糟糕的 python 代码。
标签: dataframe apache-spark pyspark apache-spark-sql