package com.bjsxt.scala.spark.operator
import org.apache.spark.{SparkContext, SparkConf}
/**
* Created by root on 2017/8/8.
*
* union算子 可以将两个RDD进行竖向合并
* join 算子 是将两个RDD进行横向合并
*
* 两个RDDunion之后的分区数
*
*/
object UnionOperator {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("ReduceOperator")
.setMaster("local")
val sc = new SparkContext(conf)
val rdd1 = sc.makeRDD(1 to 10,3)
val rdd2 = sc.makeRDD(11 to 20,2)
val unionResultRDD = rdd1.union(rdd2)
// val rdd3 = sc.parallelize((Array("hello","hi")))
/**
* reduce:可以将一个RDD中的数据进行聚合,聚合逻辑是由用户传入的
* union算子注意点:
* 要进行合并的两个RDD数据类型必须相同
*/
println("unionResultRDD.getNumPartitions:" + unionResultRDD.getNumPartitions)
val result = unionResultRDD.reduce(_+_)
println(result)
sc.stop()
}
}