zoukankan      html  css  js  c++  java
  • spark union intersection subtract

    union、intersection subtract 都是transformation 算子

    1、union 合并2个数据集,2个数据集的类型要求一致,返回的新RDD的分区数是合并RDD分区数的总和;

        val kzc=spark.sparkContext.parallelize(List(("hive",8),("apache",8),("hive",30),("hadoop",18)),2)
        val bd=spark.sparkContext.parallelize(List(("hive",18),("test",2),("spark",20)),1)
        val result=bd.union(kzc)
        println(result.partitions.size)
        println("*******************")
        result.collect().foreach(println(_))

    结果

    3
    *******************
    (hive,18)
    (test,2)
    (spark,20)
    (hive,8)
    (apache,8)
    (hive,30)
    (hadoop,18)

    2、intersection 取交集,新RDD的分区与父RDD分区数多的一致

     spark.sparkContext.setLogLevel("error")
        val kzc=spark.sparkContext.parallelize(List(("hive",8),("apache",8),("hive",30),("hadoop",18)),2)
        val bd=spark.sparkContext.parallelize(List(("hive",8),("test",2),("spark",20)),1)
        val result=bd.intersection(kzc)
        println(result.partitions.size)
        println("*******************")
        result.collect().foreach(println(_))

    结果

    2
    *******************
    (hive,8)

    3、subtract,减去二者之间的交集(intersection),新RDD与subtract前边的父RDD分区数一致

        spark.sparkContext.setLogLevel("error")
        val kzc=spark.sparkContext.parallelize(List(("hive",8),("apache",8),("hive",30),("hadoop",18)),2)
        val bd=spark.sparkContext.parallelize(List(("hive",8),("test",2),("spark",20)),1)
        val result=bd.subtract(kzc)
        println(result.partitions.size)
        println("*******************")
        result.collect().foreach(println(_))

    结果

    1
    *******************
    (test,2)
    (spark,20)
  • 相关阅读:
    Inner Classes with TypeScript
    设计模式(一)
    C++定义构造函数必须使用初始化列表的场合
    制作Linux下程序安装包——使用脚本打包bin、run等安装包
    Windows下将程序打包为安装包(最为简易的方式)
    在Linux中查看文件的编码及对文件进行编码转换
    libpcap文件格式分析
    static_cast, dynamic_cast, const_cast
    字符1与数字1
    Linux下的多线程编程
  • 原文地址:https://www.cnblogs.com/students/p/14237108.html
Copyright © 2011-2022 走看看