#python #join #pyspark
#python #Присоединиться #пайспарк
Вопрос:
У меня есть фрейм данных, который выглядит следующим образом
membershipAccountNbr cntryRetailChannelCustId
111590058 1010015900581000010101
214100897 1010041008972100010101
104100897 1010041008971000010101
И еще один, который выглядит так:
membershipAccountNbr parentMembershipNbr
111590058 111590058
214100897 104100897
Моя цель — сделать так, чтобы это выглядело:
membershipAccountNbr parentMembershipNbr parentCustId
111590058 111590058 1010015900581000010101
214100897 104100897 1010041008971000010101
Я пытался использовать объединения, но они выдают ошибку неоднозначности. Я новичок в Pyspark, поэтому, пожалуйста, помогите.
Ответ №1:
Предположим df1
, что,
-------------------- ------------------------
|membershipAccountNbr|cntryRetailChannelCustId|
-------------------- ------------------------
| 111590058| 10100159005810000...|
| 214100897| 10100410089721000...|
| 104100897| 10100410089710000...|
-------------------- ------------------------
И df2
,
-------------------- -------------------
|membershipAccountNbr|parentMembershipNbr|
-------------------- -------------------
| 111590058| 111590058|
| 214100897| 104100897|
-------------------- -------------------
Затем вы запускаете,
df1.join(df2, on="membershipAccountNbr", how="right").select(
col("membershipAccountNbr"),
col("parentMembershipNbr"),
col("cntryRetailChannelCustId").alias("parentCustId"),
).show()
Результат будет выглядеть следующим образом,
-------------------- ------------------- --------------------
|membershipAccountNbr|parentMembershipNbr| parentCustId|
-------------------- ------------------- --------------------
| 111590058| 111590058|10100159005810000...|
| 214100897| 104100897|10100410089721000...|
-------------------- ------------------- --------------------
Комментарии:
1. Это то, что я пытался сделать, но это выдает ошибку неоднозначности. И просит меня включить перекрестное соединение