如何连接Scala Spark的所有列
如果Scala Spark中有两个表,我如何在不显式写出的情况下连接每一列。这里是我必须写出每一列的方法。我想使用Seq方法,因为它可以删除重复的列如何连接Scala Spark的所有列,scala,apache-spark,Scala,Apache Spark,如果Scala Spark中有两个表,我如何在不显式写出的情况下连接每一列。这里是我必须写出每一列的方法。我想使用Seq方法,因为它可以删除重复的列 table("a") .join(table("b", Seq("col_a","col_b"....) 您可以使用DataFrame.columns获取所有列,如果两个表/数据帧的列相同,则可以按如下方式连接它们。如果列名不同,则需要自定义逻辑来构建联接条件
table("a")
.join(table("b", Seq("col_a","col_b"....)
您可以使用
DataFrame.columns
获取所有列,如果两个表/数据帧的列相同,则可以按如下方式连接它们。如果列名不同,则需要自定义逻辑来构建联接条件
case class atable(column1:String, column2:String)
val table1 = spark.createDataFrame(Seq(atable(column1 = "a",column2 = "1"),atable(column1 = "b",column2 = "2")))
val table2 = spark.createDataFrame(Seq(atable(column1 = "a",column2 = "1"),atable(column1 = "c",column2 = "3")))
table1.join(table2, table1.columns).show()
结果-
+-------+-------+
|column1|column2|
+-------+-------+
| a| 1|
+-------+-------+
您正在选择列
a
,并使用一组不存在的列连接到列b
。你能澄清一下你想做什么吗?