pyspark: получить столбцы на основе других записей - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть фрейм данных, который выглядит следующим образом

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 Ответ

1 голос
/ 18 апреля 2019

Предположим, 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...|
+--------------------+-------------------+--------------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...