Pertanyaan Menggabungkan dataset RDD berbeda dalam percikan Apache menggunakan scala


Apakah ada cara untuk menggabungkan kumpulan data dari dua yang berbeda RDDdalam percikan?

Persyaratannya adalah - Saya membuat dua RDD menengah menggunakan scala yang memiliki nama kolom yang sama, perlu menggabungkan hasil ini dari kedua RDD dan cache hasilnya untuk mengakses ke UI. Bagaimana cara menggabungkan dataset di sini?

RDD adalah tipe spark.sql.SchemaRDD


32
2017-12-10 07:27


asal


Jawaban:


Saya pikir Anda mencari RDD.union

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

Contoh (pada 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))

43
2017-12-10 10:21



Saya memiliki masalah yang sama. Untuk menggabungkan dengan baris alih-alih menggunakan kolom unionAll:

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

Saya menemukannya setelah membaca ringkasan metode untuk bingkai data. Informasi lebih lanjut di: https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/DataFrame.html


2
2018-05-30 05:58