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)
  • 相关阅读:
    火币交易细则
    期货基础知识(竞价,定价,保证金计算)
    期货开平,多开,空开,多平,空平
    最优风险资产组合
    为什么不要把鸡蛋放在同一个篮子里?
    Linux shell 自定义函数
    Linux shell for while 循环
    shell 脚本编写 if else then
    linux任务前后台执行
    Mac 破解Navicat Premium Mac12
  • 原文地址:https://www.cnblogs.com/students/p/14237108.html
Copyright © 2011-2022 走看看