ActiveMQ JDK动态代理 Filter java class unity html uwp ionic framework nginx视频教程 bootstrap中文api文档 mac上传文件到linux hadoop组件 oracle可视化工具 mysql函数返回结果集 后台管理网站模板 python环境设置 python文件操作 java教程 filejava java中float linux的find linux密码忘记 h5模板 跳一跳脚本 计算机网络自顶向下 无限弹窗bat mssql wscript 红巨人插件 子节点 pr蒙版怎么用 网络驱动 变声器电脑版 qq魔法卡片登陆 氤氲之息哪里爆率高 砸金蛋抽奖活动 保留两位小数的函数 田字格字体 ps怎么做漂亮艺术字 wps苹果mac版
当前位置: 首页 > 学习教程  > 编程语言

Spark中常用的join操作的区别

2020/11/24 10:01:37 文章标签: 测试文章如有侵权请发送至邮箱809451989@qq.com投诉后文章立即删除

Spark中常用的join操作有leftOuterJoin、rightOuterJoin、fullOuterJoin及join,这4个join。这几个join都类似于mysql中的join操作,其中Rdd的join就相当于mysql中的innerJoin。 下面以代码和结果的形式展示这几个join的区别: val conf new SparkConf().setAppName(&…

Spark中常用的join操作有leftOuterJoin、rightOuterJoin、fullOuterJoin及join,这4个join。这几个join都类似于mysql中的join操作,其中Rdd的join就相当于mysql中的innerJoin。
下面以代码和结果的形式展示这几个join的区别:

    val conf = new SparkConf().setAppName("JoinTest").setMaster("local")
    val sc = new SparkContext(conf)
    val pairRDD1 = sc.parallelize(List( ("cat",2), ("cat", 5), ("book", 4),("cat", 12)))
    val pairRDD2 = sc.parallelize(List( ("cat",2), ("cup", 5), ("mouse", 4),("cat", 12)))
    
    val rdd1 = pairRDD1.leftOuterJoin(pairRDD2)
    val rdd2 = pairRDD1.rightOuterJoin(pairRDD2)
    val rdd3 = pairRDD1.fullOuterJoin(pairRDD2)
    val rdd4 = pairRDD1.join(pairRDD2)
    
    rdd1.collect().foreach(println)   
    rdd2.collect().foreach(println)   
    rdd3.collect().foreach(println)    
    rdd4.collect().foreach(println)                                                                      
  }

接下来分别是四个join的结果:
(1)leftOuterJoin 左连接,返回数据集左边的全部数据和数据集左边与右边有交集的数据
在这里插入图片描述(2)rightOuterJoin 右连接,返回数据集右边的全部数据和数据集右边与左边有交集的数据
在这里插入图片描述(3)fullOuterJoin 全连接,返回左右数据集的全部数据,左右有一边不存在的数据以None填充
在这里插入图片描述(4)join 内连接,当join左右两边的数据集都存在时才返回
在这里插入图片描述


本文链接: http://www.dtmao.cc/news_show_400211.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?