首页 理论教育 PairRDDFunctions相关API优化

PairRDDFunctions相关API优化

时间:2023-06-25 理论教育 版权反馈
【摘要】:3)rightOuterJoin:RDD[K,V]rightOuterJoinRDD[K,W]=>RDD[K,]。4)Join:RDD[K,V]join RDD[K,W]=>RDD[K,(V,W)]。

PairRDDFunctions相关API优化

一、Join家族的API

1.定义

2.功能描述

对两个RDD进行join操作,包括全外联、左外联、右外联以及join。

3.示例

案例使用的类型信息:

1)leftRdd:RDD[String,Int]--(name,age),即元素类型为元组,元组包含名字和年龄。

2)rightRdd:RDD[String,Char]--(name,gender:f/m),即元素类型为元组,元组包含名字和性别,性别由f或m表示,分别对应female和male。

4.示例解析

查看各操作后RDD元素类型的变化,如下所示:(www.xing528.com)

1)fullOuterJoin:RDD[K,V]fullOuterJoinRDD[K,W]=>RDD[K,(Option[V],Option[W])]。

2)leftOuterJoin:RDD[K,V]leftOuterJoinRDD[K,W]=>RDD[K,(V,Option[W])]。

3)rightOuterJoin:RDD[K,V]rightOuterJoinRDD[K,W]=>RDD[K,(Option[V],W)]。

4)Join:RDD[K,V]join RDD[K,W]=>RDD[K,(V,W)]。

其中,当类型为Option[V]时,表示该V类型的值有两种状态,Some[V]或None,可以结合元素类型是否为Option[V]来解析全外联、左外联、右外联操作的含义,即是不是包含了关联缺失的输出。

5.扩展知识

Join类型有:cross join、inner join、left outer join、right outer join、full outer join。

首先都是基于cross join(笛卡尔乘积),然后是inner join,在笛卡尔乘积的结果集中去掉不符合连接条件的行。left outer join是在inner join的结果集上再加上左表中没被选上的行,同时行的右表部分的每个字段都用NULL填充。right outer join是在inner join的结果集上再加上右表中没被选上的行,同时行的左表部分的每个字段都用全用NULL填充。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈