首页 > 其他分享 >RDD转换算子:join方面的算子(leftOuterJoin、rightOuterJoin、fullOuterJoin)

RDD转换算子:join方面的算子(leftOuterJoin、rightOuterJoin、fullOuterJoin)

时间:2024-11-18 17:43:13浏览次数:3  
标签:陈奕迅 singer join rdd rightOuterJoin 蔡依林 fullOuterJoin 算子 RDD

文章目录


join方面的算子

功能

实现 两个KV类型 的RDD之间按照K实现关联,将两个RDD的关联结果放入一个新的RDD中
假如是两个list进行合并使用 union,如果是KV类型的合并使用 join

语法

def join(self: RDD[Tuple[K,V]], otherRdd: RDD[Tuple[K,W]]) -> RDD[Tuple[K,(V,W)]]

join的过程,必然引发相同key值的数据汇总在一起,必然会引发shuffle 操作

举例

如何构造sc对象并创建RDD 参考文章:
【Spark中创建RDD的两种方式】Spark中如何获取sc对象、以及创建RDD的两种方式

rdd_singer_age = sc.parallelize([("周杰伦", 43), ("陈奕迅", 47), ("蔡依林", 41), ("林子祥", 74), ("陈升", 63)],
                                    numSlices=2)
rdd_singer_music = sc.parallelize(
        [("周杰伦", "青花瓷"), ("陈奕迅", "孤勇者"), ("蔡依林", "日不落"), ("林子祥", "男儿当自强"),
         ("动力火车", "当")], numSlices=2)
# join 是 转换算子  join 可以理解为内连接
joinRdd = rdd_singer_age.join(rdd_singer_music)
joinRdd.foreach(print)

# 左外连接
leftRdd = rdd_singer_age.leftOuterJoin(rdd_singer_music)
leftRdd.foreach(print)

# 右外连接
rightRdd = rdd_singer_age.rightOuterJoin(rdd_singer_music)
rightRdd.foreach(print)

# 全连接
fullRdd = rdd_singer_age.fullOuterJoin(rdd_singer_music)
fullRdd.foreach(print)
join展示结果:
('陈奕迅', (47, '孤勇者'))
('周杰伦', (43, '青花瓷'))
('蔡依林', (41, '日不落'))
('林子祥', (74, '男儿当自强'))
********left join 显示结果************
('周杰伦', (43, '青花瓷'))
('蔡依林', (41, '日不落'))
('陈升', (63, None))
('陈奕迅', (47, '孤勇者'))
('林子祥', (74, '男儿当自强'))
*********right join 显示结果***********
('动力火车', (None, '当'))
('周杰伦', (43, '青花瓷'))
('蔡依林', (41, '日不落'))
('林子祥', (74, '男儿当自强'))
('陈奕迅', (47, '孤勇者'))
********full join 显示结果*************
('动力火车', (None, '当'))
('周杰伦', (43, '青花瓷'))
('蔡依林', (41, '日不落'))
('陈升', (63, None))
('陈奕迅', (47, '孤勇者'))
('林子祥', (74, '男儿当自强'))

标签:陈奕迅,singer,join,rdd,rightOuterJoin,蔡依林,fullOuterJoin,算子,RDD
From: https://blog.csdn.net/lzhlizihang/article/details/143862954

相关文章

  • 用matlab算子提取相机亮度一致性曲线,转VC++实现
    用matlab的算子,提取相机亮度一致性曲线,用曲线调节相机亮度一致性。用C++开发,开发工具vs2019,使用迈德威视的相机。算法原理:间隔提取整副图像中的采集点,横向10点,竖向10点,均匀覆盖整图,采样不同曝光时间采集N帧图像,然后计算亮度的变化趋势,得到亮度曲线。读取原始图片,把......
  • spark 热门面试题 (算子)
    1,哪些是触发算子countforeachsaveAsTextFilefirsttakecollectreducetoptakeOrderedcollectAsMapforeachParitionmaxminmeansum2,哪些是转换算子mapflatMapfilteruniondistinctgroupByKeysortByKeysortByreduceByKeyrepartitioncoalescekeysvalues......
  • 重分区算子:repartition 与 coalesce 的区别
    在大数据处理中,经常会遇到需要对数据集进行分区调整的情况,这时就会用到repartition和coalesce这两个重分区算子。本文将详细介绍它们的区别,并通过案例来帮助理解。一、repartition和coalesce的定义与基本原理repartition定义:repartition算子用于对数据集进行重新分区,它会......
  • Spark的算子
    目录一、算子二、转换算子(Transformations)2.1、map算子2.2、flatMap算子 2.3、filter算子2.4、union算子2.5、distinct算子2.6、分组聚合算子2.6.1groupByKey算子2.6.2reduceByKey算子2.7、排序算子2.7.1sortBy算子2.7.2sortByKey2.8、重分区算子 2.8.1repart......
  • 【时间序列分析】平稳时间序列分析——Wold分解定理和延迟算子
    Wold分解定理(这个定理是平稳时间序列分析的理论基石。)对于任意一个离散平稳时间序列,它都可以分解为两个不相关的平稳序列之和,其中一个为确定性的(deterministic),另一个为随机性的(stochastic) xₜ=Vₜ+ξₜ,{V₁}为确定性平稳序列,ξ₁为随机性平稳序列式中:确定性......
  • 图像处理领域的加速算子收集
    1、Simd库——CPU指令集加速算子 SimdLibraryDocumentation.部分算子截图: 2、VPI库——CPU、GPU(CUDA)加速算子 VPI-VisionProgrammingInterface:Algorithms部分算子截图: 3、CV-CUDA库算子 CV-CUDA—CV-CUDABetadocumentation部分算子截图: ......
  • Python实现图像(边缘)锐化:梯度锐化、Roberts 算子、Laplace算子、Sobel算子的详细方法
    目录Python实现图像(边缘)锐化:梯度锐化、Roberts算子、Laplace算子、Sobel算子的详细方法引言一、图像锐化的基本原理1.1什么是图像锐化?1.2边缘检测的基本概念二、常用的图像锐化算法2.1梯度锐化2.1.1实现步骤2.2Roberts算子2.2.1实现步骤2.3Laplace算子2.3.1实......
  • 球坐标下的 Laplace 算子推导
    球坐标下的Laplace算子推导Ciallo~(∠・ω<)⌒★我是赤川鹤鸣!在学习球谐函数的时候,第一次听说球坐标下的Laplace算子这一概念.在查阅了一些资料后,现在整理出球坐标下拉普拉斯算子的推导公式.1.球坐标我们非常熟悉的坐标系是初中时学习过的具有\(2\)个维度\(x\)和......
  • 我和chatgpt问答-微分方程与算子、复杂的结构
    问题:微分方程中是否含有充分复杂的结构,才使得方程尤其是微分方程难解是的,微分方程,尤其是非线性微分方程,通常包含非常复杂的结构,这些结构使得它们在解析求解上极其困难。以下是一些导致微分方程难解的复杂结构因素:1.非线性结构非线性项:微分方程中的非线性项(如(y^2)、(e^y......
  • 小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试
    前言    哈喽哈喽,这里是zyll~,北浊.(大家可以亲切的呼唤我叫小北)智慧龙阁的创始人,一个在大数据和全站领域不断深耕的技术创作者。今天,我想和大家分享一些关于华为昇腾CANN训练营以及AI技术创新的最新资讯和实践经验~(初级证书还没拿到的小伙伴,可以先参考小北的这篇技术博......