在Spark Java中对两个数据集进行并集的必要条件是什么

问题描述 投票:-2回答:1

什么是必要条件,例如没有列或相同列或不同列

java apache-spark union apache-spark-dataset
1个回答
0
投票

假设您有两个数据框。

  val df1 = spark.sql("SELECT 1 as a,3 as c")
  val df2 = spark.sql("SELECT 1 as a,2 as b")

df1.union(df2)-将起作用,因为它的条件是相同的列数

df1.union(df2).show()
+---+---+
|  a|  c|
+---+---+
|  1|  3|
|  1|  2|
+---+---+

如您所见,它使用df1列,并且仅按df2列的索引而不是名称进行匹配。

例如,如果您使用的是unionByName

  df1.unionByName(df2).show()

它不起作用,因为它尝试在df2中查找'c'列。

总结起来,两种联合样式都需要相同数量的列。unionByName-要求列也要使用相同的名称。

© www.soinside.com 2019 - 2024. All rights reserved.