3.3 Spark RDD键值转换操作5-leftOuterJoin、rightOuterJoin、subtractByKey
来源:互联网 发布:北大青鸟学java学费 编辑:程序博客网 时间:2024/06/14 16:32
1 leftOuterJoin
def leftOuterJoin[W](other: RDD[(K, W)]): RDD[(K, (V, Option[W]))]
def leftOuterJoin[W](other: RDD[(K, W)], numPartitions: Int): RDD[(K, (V, Option[W]))]
def leftOuterJoin[W](other: RDD[(K, W)], partitioner: Partitioner): RDD[(K, (V, Option[W]))]
leftOuterJoin类似于SQL中的左外关联left outer join,返回结果以前面的RDD为主,关联不上的记录为空。只能用于两个RDD之间的关联,如果要多个RDD关联,多关联几次即可。
参数numPartitions用于指定结果的分区数
参数partitioner用于指定分区函数
例子:
var rdd1 = sc.makeRDD(Array((“A”,”1”),(“B”,”2”),(“C”,”3”)),2)
var rdd2 = sc.makeRDD(Array((“A”,”a”),(“C”,”c”),(“D”,”d”)),2)
scala> rdd1.leftOuterJoin(rdd2).collect
res11: Array[(String, (String, Option[String]))] = Array((B,(2,None)), (A,(1,Some(a))), (C,(3,Some(c))))
2 rightOuterJoin
def rightOuterJoin[W](other: RDD[(K, W)]): RDD[(K, (Option[V], W))]
def rightOuterJoin[W](other: RDD[(K, W)], numPartitions: Int): RDD[(K, (Option[V], W))]
def rightOuterJoin[W](other: RDD[(K, W)], partitioner: Partitioner): RDD[(K, (Option[V], W))]
rightOuterJoin类似于SQL中的有外关联right outer join,返回结果以参数中的RDD为主,关联不上的记录为空。只能用于两个RDD之间的关联,如果要多个RDD关联,多关联几次即可。
参数numPartitions用于指定结果的分区数
参数partitioner用于指定分区函数
例子:
var rdd1 = sc.makeRDD(Array((“A”,”1”),(“B”,”2”),(“C”,”3”)),2)
var rdd2 = sc.makeRDD(Array((“A”,”a”),(“C”,”c”),(“D”,”d”)),2)
scala> rdd1.rightOuterJoin(rdd2).collect
res12: Array[(String, (Option[String], String))] = Array((D,(None,d)), (A,(Some(1),a)), (C,(Some(3),c)))
3 subtractByKey
def subtractByKey[W](other: RDD[(K, W)])(implicit arg0: ClassTag[W]): RDD[(K, V)]
def subtractByKey[W](other: RDD[(K, W)], numPartitions: Int)(implicit arg0: ClassTag[W]): RDD[(K, V)]
def subtractByKey[W](other: RDD[(K, W)], p: Partitioner)(implicit arg0: ClassTag[W]): RDD[(K, V)]
subtractByKey和基本转换操作中的subtract类似
只不过这里是针对K的,返回在主RDD中出现,并且不在otherRDD中出现的元素。
参数numPartitions用于指定结果的分区数
参数partitioner用于指定分区函数
例子:
var rdd1 = sc.makeRDD(Array((“A”,”1”),(“B”,”2”),(“C”,”3”)),2)
var rdd2 = sc.makeRDD(Array((“A”,”a”),(“C”,”c”),(“D”,”d”)),2)
scala> rdd1.subtractByKey(rdd2).collect
res13: Array[(String, String)] = Array((B,2))
- 3.3 Spark RDD键值转换操作5-leftOuterJoin、rightOuterJoin、subtractByKey
- RDD键值转换操作(5)–leftOuterJoin、rightOuterJoin、subtractByKey
- Spark算子:RDD键值转换操作(5)–leftOuterJoin、rightOuterJoin、subtractByKey
- Spark算子:RDD键值转换操作(5)–leftOuterJoin、rightOuterJoin、subtractByKey
- Spark算子:RDD键值转换操作(5)–leftOuterJoin、rightOuterJoin、subtractByKey
- spark RDD算子(八)之键值对关联操作 subtractByKey, join, rightOuterJoin, leftOuterJoin
- Spark算子[16]:subtractByKey、join、rightOuterJoin、leftOuterJoin 实例详解
- Spark编程之基本的RDD算子之join,rightOuterJoin, leftOuterJoin
- 3.3 Spark RDD 键值转换操作1-partitionBy、mapValues、flatMapValues
- 3.3 Spark RDD 键值转换操作2-combineByKey、foldByKey
- 3.3 Spark RDD 键值转换操作3-groupByKey、reduceByKey、reduceByKeyLocally
- 3.3 Spark RDD 键值转换操作4-cogroup、join
- Spark之键值RDD转换
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- Spark算子:RDD键值转换操作(4)–cogroup/join
- Spark算子:RDD键值转换操作(4)–cogroup、join
- Spark算子:RDD键值转换操作(2)–combineByKey、foldByKey
- Codeforces Round #339 (Div. 2)-D-Skills(二分)
- Android下载器 支持多任务、多界面管理、可断点
- python写文件时遇到UnicodeEncodeError: 'gbk' codec can't encode character的解决方式
- Chrome,双击关闭标签页,的完善做法
- c++基础之类和成员变量
- 3.3 Spark RDD键值转换操作5-leftOuterJoin、rightOuterJoin、subtractByKey
- 哈哈哈
- 哈夫曼的c语言实现代码
- 《为什么你玩王者荣耀“越野”老是输?》
- 李彦宏:AI时代解决的是人与物的交流
- 这块“不务正业”的仿神经芯片居然学会了谱曲
- 微软 Build vs 谷歌 I/O:熊熊燃烧的AI战火
- Halcon投射变换和获取四边形顶点
- 位运算