Spark pyspark rdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍

Spark pyspark rdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍Sparkpysparkrdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍union用于组合两个rdd的元素,join用于内连接,而后三个函数(leftOuterJoin,rightOuterJoin,fullOuterJoin)用于类似于SQL的左、右、全连接。针对key-value形式的RDD。例子:1)数据初始化>&g…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

Spark pyspark rdd连接函数之join、leftOuterJoin、rightOuterJoin和fullOuterJoin介绍

union用于组合两个rdd的元素,join用于内连接,而后三个函数(leftOuterJoinrightOuterJoinfullOuterJoin)用于类似于SQL的左、右、全连接。
针对key-value形式的RDD。

例子:

1)数据初始化

>>> pp=(('cat', 2), ('cat', 5), ('book', 4), ('cat', 12))
>>> pp
(('cat', 2), ('cat', 5), ('book', 4), ('cat', 12))
>>> qq=(("cat",2), ("cup", 5), ("mouse", 4),("cat", 12))
>>> qq
(('cat', 2), ('cup', 5), ('mouse', 4), ('cat', 12))
>>> pairRDD1 = sc.parallelize(pp)
>>> pairRDD2 = sc.parallelize(qq)
>>> pairRDD1.collect()
[('cat', 2), ('cat', 5), ('book', 4), ('cat', 12)]
>>> pairRDD2.collect()
[('cat', 2), ('cup', 5), ('mouse', 4), ('cat', 12)]

Jetbrains全家桶1年46,售后保障稳定

2)Join内连接结果:
>>> pairRDD1.join(pairRDD2).collect()
[('cat', (2, 2)), ('cat', (2, 12)), ('cat', (5, 2)), ('cat', (5, 12)), ('cat', (12, 2)), ('cat', (12, 12))]
3)leftOuterJoin结果:
>>> pairRDD1.leftOuterJoin(pairRDD2).collect()
[('book', (4, None)), ('cat', (2, 2)), ('cat', (2, 12)), ('cat', (5, 2)), ('cat', (5, 12)), ('cat', (12, 2)), ('cat', (12, 12))]
4)rightOuterJoin结果:
>>> pairRDD1.rightOuterJoin(pairRDD2).collect()
[('cup', (None, 5)), ('mouse', (None, 4)), ('cat', (2, 2)), ('cat', (2, 12)), ('cat', (5, 2)), ('cat', (5, 12)), ('cat', (12, 2)), ('cat', (12, 12))]
5)fullOuterJoin结果:
>>> pairRDD1.fullOuterJoin(pairRDD2).collect()
[('book', (4, None)), ('cup', (None, 5)), ('mouse', (None, 4)), ('cat', (2, 2)), ('cat', (2, 12)), ('cat', (5, 2)), ('cat', (5, 12)), ('cat', (12, 2)), ('cat', (12, 12))]

6)union结果:

>>> pairRDD1.union(pairRDD2).collect()
[('cat', 2), ('cat', 5), ('book', 4), ('cat', 12), ('cat', 2), ('cup', 5), ('mouse', 4), ('cat', 12)]

参考:http://blog.cheyo.net/175.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216256.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 打印机smtp服务器地址还未配置_打印机如何添加邮箱地址

    打印机smtp服务器地址还未配置_打印机如何添加邮箱地址打印机smtp服务器设置方法内容精选换一换设置日志级别。参见准备环境完成环境配置。以运行用户登录安装Toolkit组件的服务器。执行命令,设置日志级别、获取日志文件。adc–hostxx.xx.xx.xx:22118–log’SetLogLevel(0)[error]’adc–hostxx.xx.xx.xx:22118–log’SetLogLevel(1本节介绍如何基于迁…

    2022年10月7日
    2
  • 20个最好的Rapidshare文件搜索引擎

    20个最好的Rapidshare文件搜索引擎20个最好的Rapidshare文件搜索引擎2008年06月21日星期六21:18经常需要检索外文文献或者外文资料的同学,应该都有使用rapidshare的经验,大家是如何在这个缺乏检索功能的网络硬盘站点中搜索想要的资料的呢?我想常用的无外乎两种:一则为通过google,输入关键名+rapidshare,看看会得到什么样的结果,这样往往需要我们在浩瀚的结果中人工查找一番才能有所收…

    2025年9月23日
    7
  • mysql 快速导入数据_MySQL导入数据

    mysql 快速导入数据_MySQL导入数据有时候需要批量插入一批数据到数据库,有很多种办法,这里我用到过三种办法:1、通过Excel直接生成insert语句=CONCATENATE("insertintoaisee_pingfen_fengcai(id,order_n,department,subject_n,teacher_name)values(‘",A1,"’,’",B1,&

    2022年9月21日
    2
  • Vue上传文件到springboot

    Vue上传文件到springboot<el-uploadclass=”upload-demo”ref=”upload”accept=”image/png,image/jpg,image/jpeg”:file-list=”fileLists”:on-preview=”handlePreview”…

    2022年10月16日
    3
  • 2020,最新手机号码手机验证正则表达式,持续更新

    2020,最新手机号码手机验证正则表达式,持续更新最近在跟一个别人写好上线的项目,今天出了一个bug,部分正常的手机号验证格式不通,查看了代码发现正则表达式有较大的错误,如图:存在的问题:1.存在逗号2.不够全面,部分正常的手机号验证不通过所以决定自己写,百度一下手机号的格式,下面应该是比较全面,所以就自己根据下面的写验证的正则表达式,如有小伙伴发现下图仍有遗漏请在评论指出,我看到会马上更新最后写出来的正则表达式:Patternp=Pattern.compile(“^1(3([1-35-9]\\d|4[1-..

    2022年6月13日
    89
  • python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器

    python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器全栈工程师开发手册(作者:陈玓玏)python教程全解白手起家,从头开启python的开发环境搭建。一.如何安装Python在https://www.python.org/下载安装包。下载下来一个exe文件,直接双击运行。选择InstallNow,立即安装。配置环境变量:右键开始——控制面板——系统——高级系统配置——环境变量。找…

    2022年7月23日
    13

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号