SparkRDD算子--zip算子

语法

val newRdd = oldRdd1.zip(oldRdd2)

源码

def zip[U](other : org.apache.spark.rdd.RDD[U])(implicit evidence$10 : scala.reflect.ClassTag[U]) : org.apache.spark.rdd.RDD[scala.Tuple2[T, U]] = { /* compiled code */ }

作用

将两个RRD组合为K-V类型。

例子

package com.day1

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

object oper {
    def main(args: Array[String]): Unit = {
        val config:SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordCount")

        // 创建上下文对象
        val sc = new SparkContext(config)

        // zip算子
        val listRdd1 = sc.makeRDD(1 to 3,3)
        val listRdd2 = sc.makeRDD(3 to 5,3)

        val zipRdd = listRdd1.zip(listRdd2)

        zipRdd.collect().foreach(println)
    }
}



输入
1 2 3
3 4 5 
输出
(1,3)
(2,4)
(3,5)

示意图

在这里插入图片描述

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页