什么是必要条件,例如没有列或相同列或不同列
假设您有两个数据框。
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-要求列也要使用相同的名称。