簡體   English   中英

如何使用scala在spark中合並2個不同的rdd

[英]how to merge 2 different rdd in spark using scala

我正在嘗試將2個rdds合並為一個。 如果我的rdd1由2個元素的2條記錄組成,則都是字符串ex:key_A:value_A和Key_B:value_B

rdd2還由2個元素的1條記錄組成,它們都是字符串key_C:value_c

我的最終rdd如下所示:key_A:value_A,Key_B:value_B,key_C:value_c

我們可以使用rdd的並集方法,但是不起作用。 請在使用2 rdds的並集時提供幫助,如果2個不同的rdd的行包含相同的no元素,或者大小可以不同。

嘗試加入:

join(otherDataset, [numTasks])  

在(K,V)和(K,W)類型的數據集上調用時,將返回(K,(V,W))對的數據集,其中每個鍵都有所有成對的元素。 通過leftOuterJoin,rightOuterJoin和fullOuterJoin支持外部聯接。

請參閱文檔的相關部分

union正在工作。

示例代碼為:

val rdd = sparkContext.parallelize(1 to 10, 3)
    val pairRDD = rdd.map { x => (x, x) }

    val rdd1 = sparkContext.parallelize(11 to 20, 3)
    val pairRDD1 = rdd1.map { x => (x, x) }

    pairRDD.union(pairRDD1).foreach(tuple => {
      println(tuple._1)
      println(tuple._2)
    })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM