将3个不同的火花数据集合并为一个几乎相同的列

时间:2018-01-08 05:09:28

标签: apache-spark spark-dataframe apache-spark-dataset

我有3个不同的数据集:A,B和C. 它们每个都有大约40列,除了最后一列之外都是相同的,类似于a_colb_colc_col

我想加入这些数据集并得到如下结果:

所有39列+ a_colb_colc_col(不重复列)

2 个答案:

答案 0 :(得分:0)

val a = a.select("join_column","a_col")
val b = b.select("join_column","b_col")
val c = c.select("join_column","c_col")


val output = a.join(b,Seq("join_column")).join(c,Seq("join_column"))

答案 1 :(得分:0)

将数据框之间的所有公共列的列表与 android:overScrollMode="never" <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:overScrollMode="never" android:background="#000" android:scrollbars="vertical" /> 一起使用。使用三个数据帧的小例子,其中最后一列是不同的:

join

val dfA = Range(1,5).map(v => (v, v * 2, v * 5)).toDF("col1", "col2", "colA") val dfB = Range(1,5).map(v => (v, v * 2, v * 6)).toDF("col1", "col2", "colB") val dfC = Range(1,5).map(v => (v, v * 2, v * 7)).toDF("col1", "col2", "colC") val commonCols = dfA.columns diff Seq("colA") val df = dfA.join(dfB, commonCols).join(dfC, commonCols) 会给你:

df.show()