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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • sop流程图模板_标准作业流程SOP详解,附流程图绘制规范,不愁不会画!

    sop流程图模板_标准作业流程SOP详解,附流程图绘制规范,不愁不会画!原标题:标准作业流程SOP详解,附流程图绘制规范,不愁不会画!什么是SOP?StandardOperationProcedure所谓SOP,是StandardOperationProcedure三个单词中首字母的大写,即标准作业程序。是以文件的形式描述作业员在生产作业过程中的操作步骤和应遵守的事项;是作业员的作业指导书;是检验员用于指导工作的依据。“制造”就是以规定的成本、规定的工时…

  • 网络适配器的作用是什么?网络适配器工作在哪一层?

    网络适配器的作用是什么?网络适配器工作在哪一层?答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链路层和物理层)…

  • 前端之路:bootstrap 时间日期日历控件(datetimepicker)

    前端之路:bootstrap 时间日期日历控件(datetimepicker)Bootstrap datetimepicker控件的使用1.支持日期选择,格式设定2.支持时间选择3.支持时间段选择控制4.支持中文涉及的样式及js:云加速外联即可。(moment-with-locales.js 这个得在datatimpicker.min.js之前。可以网上百度这个文件。我没找到这个cdn)<linkhref="https://cdn.b…

    2022年10月25日
  • Python实现 —【简易】12306爬虫[通俗易懂]

    Python实现 —【简易】12306爬虫[通俗易懂]最近这几天,学习了一下python,对于爬虫比较感兴趣,就做了一个简单的爬虫项目,因为快过年了么,要买回家的火车票,所以呢,通过分析12306网站,写了一个爬虫,现在,就将代码贴出来,分析的过程就不详细的介绍了,就是通过chorme浏览器进行分析。1#-*-coding:utf-8-*-2#@Date:2016-12-2714:26:333…

  • kettle下载安装使用教程

    kettle下载安装使用教程Kettle简介Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行, 数据抽取高效稳定。Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。Kettle中有两…

  • ARM基础了解_arm编程架构

    ARM基础了解_arm编程架构ARM处理器家族早起经典处理器包括ARM7、ARM9、ARM11等,Cortex-A系列是它们的升级版从ARM11之后就变成了Cortex系列Cortex-M系列控制为单片机驱动的系统提供的低成本优化方案,应用于传统的微控制器市场,智能传感器,汽车周边部件等。Cortex-A系列处理针对开放式操作系统的高性能处理器,可以跑Android、Linux等系统,应用于智能手…

发表回复

您的电子邮箱地址不会被公开。

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