首页 > 解决方案 > 在结果数据框中没有重复列的多列上连接 2 个数据框 - Java

问题描述

考虑具有 x、y、z 列的 DataFrame A 和具有 x、y、w 列的 DataFrame B

我想(内部)在 x 和 y 列上加入 DataFrames A 和 B,结果数据帧包含 x,y,z,w 而不是 x,x,y,y,z,w

有人可以建议如何在 JAVA 中执行此操作吗?谢谢并恭祝安康。

标签: javaapache-sparkapache-spark-sql

解决方案


加入后,使用drop函数删除重复的列。该drop函数采用列名和列对象。您不能使用列名,因为它是重复的。看看我是如何使用列对象的。

    dataframeA.join(dataFrameB,dataframeA("x") === dataFrameB("x") && 
                   dataFrameB,dataframeA("y") === dataFrameB("y"),"inner"
                   ).drop(dataframeA("x")).drop(dataframeA("y"))

推荐阅读