Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.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
使用scala在ApacheSpark中连接不同RDD的数据集_Scala_Apache Spark_Apache Spark Sql_Distributed Computing_Rdd - Fatal编程技术网

使用scala在ApacheSpark中连接不同RDD的数据集

使用scala在ApacheSpark中连接不同RDD的数据集,scala,apache-spark,apache-spark-sql,distributed-computing,rdd,Scala,Apache Spark,Apache Spark Sql,Distributed Computing,Rdd,有没有一种方法可以在spark中连接两个不同的RDDs的数据集 需求是-我使用具有相同列名的scala创建了两个中间RDD,需要将这两个RDD的结果组合起来,并缓存结果以访问UI。如何在这里合并数据集 RDD是spark.sql.SchemaRDD类型的 val rddPart1 = ??? val rddPart2 = ??? val rddAll = rddPart1.union(rddPart2) 示例(火花壳上) 我也有同样的问题。要按行而不是按列合并,请使用unionAll: val

有没有一种方法可以在spark中连接两个不同的
RDD
s的数据集

需求是-我使用具有相同列名的scala创建了两个中间RDD,需要将这两个RDD的结果组合起来,并缓存结果以访问UI。如何在这里合并数据集


RDD是spark.sql.SchemaRDD类型的

val rddPart1 = ???
val rddPart2 = ???
val rddAll = rddPart1.union(rddPart2)
示例(火花壳上)


我也有同样的问题。要按行而不是按列合并,请使用unionAll:

val rddPart1= ???
val rddPart2= ???
val rddAll = rddPart1.unionAll(rddPart2)

我在阅读数据帧的方法摘要后发现了它。更多信息请访问:

您不能只使用
++
?@lmm No。。它将向RDD添加列。我需要向RDD添加行。我有两个具有相同列的RDD,它们的记录需要合并到一个RDD中。不,不会,我只是尝试确定一下<代码>++
创建一个union RDD,其中包含来自这两者的结果。rddPart1。union(rddPart2)将向rddPart1添加rddPart2列。我需要将rddPart2的行添加到rddPart1。仅供参考,本例中的两个RDD都有相同的列名,排版更像是将记录插入到已经存在的RDD中。不创建新列以RDD@example增加了一个例子。union RDD没有新的列。虽然示例使它看起来像是发生了连接(rdd1后面是输出中的rdd2),但我认为union不能保证数据的顺序。他们可能会相互混淆。真正的连接并不是那么容易,因为它意味着数据中的顺序依赖性,这与spark的分布式不一致性作斗争。不确定这是否是正确的答案,问题是关于RDD,而不是如何使用数据帧
val rddPart1= ???
val rddPart2= ???
val rddAll = rddPart1.unionAll(rddPart2)