Spark 实践 - RDD 的 union操作实例

一、概念简介:

      RDD是Spark中最重要的抽象概念,叫做弹性式分布式数据集。在Spark的世界中,到处都是RDD,Spark提供了2种方式来操作RDD,分别为:转换、执行。转换、执行操作也内嵌了很多方法。

      RDD也是一种数据集,RDD非常灵活,可以存储的数据类型非常灵活——基础类型如String,Int;也可以存储复杂类型——List、用户自定义类型等。

      RDD中存储的每个对象叫做RDD的元素,可以是String、Int、List或用户自定义对象等。

      本实例介绍的union操作就是转换操作的一种,union顾名思义就是联合的意思,它将2个RDD中的每个元素都联合起来,生成1个新的RDD。其效果与SQL中的union相似。

二、实例代码:

import org.apache.log4j.{Level, Logger}
import org.apache.spark.{SparkConf, SparkContext}

/**
  * Created by cb on 12/12/16.
  */
object RDDUnionDemo {
  Logger.getLogger("org").setLevel(Level.ERROR)

  def main(args:Array[String]): Unit ={
    val sparkConf = new SparkConf().setMaster("local[2]").setAppName("RDDUnionDemo")
    val sc = new SparkContext(sparkConf)
    /*RDD -> pair*/
    val flow = sc.parallelize(List(("001001003001",2),("001001001001",1),("001002001001",1)))
    val org = sc.parallelize(List(("001001003001",2),("001001001001",2),("001002001001",2)))
    val u = flow.union(org)
    u.foreach(println)
    /* 输出: RDDs的union操作,把2个RDDs的元素合并起来。
      (001001003001,2)
      (001001001001,1)
      (001002001001,1)
      (001001003001,2)
      (001001001001,2)
      (001002001001,2)
    * */
  }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值