我想对 3 个数据帧使用 join,但有些列我们不需要,或者与其他数据帧有一些重复的名称,所以我想删除一些列,如下所示:
result_df = (aa_df.join(bb_df, 'id', 'left')
.join(cc_df, 'id', 'left')
.withColumnRenamed(bb_df.status, 'user_status'))
请注意status
列位于两个数据框中,即 aa_df
和bb_df
.
上面的方法不起作用。我还尝试使用withColumn
,但是新列已创建,旧列仍然存在。
最佳答案
如果您尝试重命名 bb_df
数据帧的 status
列,那么您可以在加入时执行此操作
result_df = aa_df.join(bb_df.withColumnRenamed('status', 'user_status'),'id', 'left').join(cc_df, 'id', 'left')
关于apache-spark - 连接后如何重命名重复的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50287558/