spark2.x由浅入深深到底系列六之RDD java api详解四
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,学习spark任何的知识点之前,先对spark要有一个正确的理解,可以参考:正确理解spark本文对join相关的api做了一个解释SparkConf conf = new SparkConf().s
千家信息网最后更新 2025年02月01日spark2.x由浅入深深到底系列六之RDD java api详解四
学习spark任何的知识点之前,先对spark要有一个正确的理解,可以参考:正确理解spark
本文对join相关的api做了一个解释
SparkConf conf = new SparkConf().setAppName("appName").setMaster("local");JavaSparkContext sc = new JavaSparkContext(conf);JavaPairRDDjavaPairRDD = sc.parallelizePairs(Arrays.asList(new Tuple2<>(1, 2), new Tuple2<>(3, 4), new Tuple2<>(3, 6), new Tuple2<>(5, 6)));JavaPairRDD otherJavaPairRDD = sc.parallelizePairs(Arrays.asList(new Tuple2<>(3, 9), new Tuple2<>(4, 5)));//结果: [(4,([],[5])), (1,([2],[])), (3,([4, 6],[9])), (5,([6],[]))]System.out.println(javaPairRDD.cogroup(otherJavaPairRDD).collect());//结果: [(4,([],[5])), (1,([2],[])), (3,([4, 6],[9])), (5,([6],[]))]// groupWith和cogroup效果是一模一样的System.out.println(javaPairRDD.groupWith(otherJavaPairRDD).collect());//结果: [(3,(4,9)), (3,(6,9))]//基于cogroup实现的,就是取cogroup结果中相同key在两个RDD都有value的数据System.out.println(javaPairRDD.join(otherJavaPairRDD).collect());//结果: [(1,(2,Optional.empty)), (3,(4,Optional[9])), (3,(6,Optional[9])), (5,(6,Optional.empty))]//基于cogroup实现的,结果需要出现的key以左边的RDD为准System.out.println(javaPairRDD.leftOuterJoin(otherJavaPairRDD).collect());//结果: [(4,(Optional.empty,5)), (3,(Optional[4],9)), (3,(Optional[6],9))]//基于cogroup实现的,结果需要出现的key以右边的RDD为准System.out.println(javaPairRDD.rightOuterJoin(otherJavaPairRDD).collect());//结果: [(4,(Optional.empty,Optional[5])), (1,(Optional[2],Optional.empty)), (3,(Optional[4],Optional[9])), (3,(Optional[6],Optional[9])), (5,(Optional[6],Optional.empty))]//基于cogroup实现的,结果需要出现的key是两个RDD中所有的keySystem.out.println(javaPairRDD.fullOuterJoin(otherJavaPairRDD).collect());
从上可以看出,最基本的操作是cogroup这个操作,下面是cougroup的原理图:
如果想对cogroup原理更彻底的理解,可以参考:spark core RDD api原理详解
结果
原理
两个
参考
相同
一模一样
右边
就是
效果
数据
知识
知识点
学习
解释
由浅入深
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
局域网如何让网站做服务器
软件开发过程模型对比
新天宇怎么更新数据库
广东同方服务器在哪买
csgo好玩的社区服务器
呈贡区综合软件开发价格信息
最好的网络安全专业大学
向日葵服务器登录不上
长春软件开发搜吉网传媒好
怎么创建表数据库
虚拟服务器哪个最好
乐刻网络技术双休
c 怎么加载数据库数据
我的世界服务器移动视角迟缓
服务器主板设置里cpu节能
库存管理数据库课程设计
徐州软件开发公司哪家好
企业网络技术 创新
上海服务器电源种类
阿里云服务器添加域名解析
宁波读数软件开发有限公司
软件开发培训中介坑人
军用软件开发建模工具
53项国家网络安全标准
石家庄美络软件开发有限公司
软件开发读研有用吗
qt获取远程服务器文件
车用嵌入式软件开发指南
后台数据库所应用的技术
数据库系统及应用考证