【发布时间】:2019-12-13 05:02:50
【问题描述】:
我有两个具有相同架构的 pyspark 数据框,如下所示 -
df_source:
id, name, age
df_target:
id,name,age
“id”是表中的主列,其余是属性列
我接受用户的主要和属性列列表如下-
primary_columns = ["id"]
attribute_columns = ["name","age"]
我需要如下动态加入以上两个数据框 -
df_update = df_source.join(df_target, (df_source["id"] == df_target["id"]) & ((df_source["name"] != df_target["name"]) | (df_source["age"] != df_target["age"])) ,how="inner").select([df_source[col] for col in df_source.columns])
我怎样才能在 pyspark 中动态地实现这个连接条件,因为属性和主键列的数量可以根据用户输入而改变?请帮忙。
【问题讨论】:
标签: pyspark