scala - 使用Scala在Apache Spark中连接不同RDD的数据集

标签 scala apache-spark apache-spark-sql distributed-computing rdd

有没有办法在Spark中串联两个不同RDD的数据集?

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

RDD的类型为spark.sql.SchemaRDD

最佳答案

我认为您正在寻找RDD.union

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

示例(在Spark-shell上)
val rdd1 = sc.parallelize(Seq((1, "Aug", 30),(1, "Sep", 31),(2, "Aug", 15),(2, "Sep", 10)))
val rdd2 = sc.parallelize(Seq((1, "Oct", 10),(1, "Nov", 12),(2, "Oct", 5),(2, "Nov", 15)))
rdd1.union(rdd2).collect

res0: Array[(Int, String, Int)] = Array((1,Aug,30), (1,Sep,31), (2,Aug,15), (2,Sep,10), (1,Oct,10), (1,Nov,12), (2,Oct,5), (2,Nov,15))

关于scala - 使用Scala在Apache Spark中连接不同RDD的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27395420/

相关文章:

multithreading - 为什么 Scala 使用 ForkJoinPool 来支持其默认的 ExecutionContext?

scala - 并行运行多个 future,超时返回默认值

apache-spark - Spark Streaming 现在支持 Kafka 1.1.0 了吗?

apache-spark - 如何将 PythonRDD(JSON 中的行)转换为 DataFrame?

sql - 如何从Databricks Delta表中删除列?

java - 如何在rdd操作中读取数据帧

json - 阿尔戈英雄 : how to rename json property for Right/Left in case class containing Either

apache-spark - 如何附加到 HDFS 中的同一文件(spark 2.11)

scala - Apache Spark 中的 join 和 cogroup 有什么区别

scala - elastic4s bool 查询中的elasticsearch “more like this”