Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在spark java中合并两个数据集的必要条件是什么_Java_Apache Spark_Union_Apache Spark Dataset - Fatal编程技术网

在spark java中合并两个数据集的必要条件是什么

在spark java中合并两个数据集的必要条件是什么,java,apache-spark,union,apache-spark-dataset,Java,Apache Spark,Union,Apache Spark Dataset,什么是必要的条件,如无列、相同列或不同列让我们假设您有两个数据帧 val df1 = spark.sql("SELECT 1 as a,3 as c") val df2 = spark.sql("SELECT 1 as a,2 as b") union(df2)-将起作用,因为它的条件是相同的列数 df1.union(df2).show() +---+---+ | a| c| +---+---+ | 1| 3| | 1| 2| +---+---+ 正如您所看到的,它采用d

什么是必要的条件,如无列、相同列或不同列

让我们假设您有两个数据帧

  val df1 = spark.sql("SELECT 1 as a,3 as c")
  val df2 = spark.sql("SELECT 1 as a,2 as b")
union(df2)-将起作用,因为它的条件是相同的列数

df1.union(df2).show()
+---+---+
|  a|  c|
+---+---+
|  1|  3|
|  1|  2|
+---+---+
正如您所看到的,它采用df1列,并且仅通过df2列的索引匹配,而不是通过名称匹配

如果您使用unionByName,例如

  df1.unionByName(df2).show()
它无法工作,因为它试图在df2中查找“c”列

总之,两种联合样式需要相同的列数。 unionByName-要求列也具有相同的名称