【问题标题】:pyspark:Get columns based on other recordspyspark:根据其他记录获取列
【发布时间】:2019-04-18 00:42:12
【问题描述】:

我有一个看起来像这样的数据框

membershipAccountNbr            cntryRetailChannelCustId
111590058               1010015900581000010101
214100897               1010041008972100010101
104100897               1010041008971000010101

还有一个是这样的:

membershipAccountNbr    parentMembershipNbr
111590058                   111590058
214100897                   104100897

我的目标是让它看起来像:

membershipAccountNbr parentMembershipNbr parentCustId
111590058               111590058    1010015900581000010101
214100897               104100897    1010041008971000010101

我尝试使用连接,但它们给出了模棱两可的错误。我是 Pyspark 的新手,所以请帮忙。

【问题讨论】:

    标签: python join 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...|
    +--------------------+-------------------+--------------------+
    

    【讨论】:

    • 这就是我尝试做的,但它给出了模棱两可的错误。并要求我启用交叉加入
    猜你喜欢
    • 2016-11-30
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多