zip

 

 

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}

object zipRDD {
  def main(args: Array[String]): Unit = {

    val conf: SparkConf = new SparkConf().setAppName("My scala word count").setMaster("local")
    val sc = new SparkContext(conf)

    val rdd1: RDD[Int] = sc.makeRDD(1 to 3,3)
    val rdd2: RDD[String] = sc.makeRDD(List("a","b","c"),3)
    val rdd3: RDD[String] = sc.makeRDD(List("a","b","c","d"),3)
    val rdd4: RDD[String] = sc.makeRDD(List("a","b","c"),2)

    val zipRDD: RDD[(Int, String)] = rdd1.zip(rdd2)
    zipRDD.collect().foreach(println)

    //报错  Can only zip RDDs with same number of elements in each partition
    val zipRDD2: RDD[(Int, String)] = rdd1.zip(rdd3)
    //zipRDD2.collect().foreach(println)


    //报错 Can't zip RDDs with unequal numbers of partitions
    val zipRDD4: RDD[(Int, String)] = rdd1.zip(rdd4)
    //zipRDD4.collect().foreach(println)

  }

}
//
//(1,a)
//(2,b)
//(3,c)

 

posted on 2020-09-21 17:18  happygril3  阅读(187)  评论(0)    收藏  举报

导航