文档章节

Spark函数:cogroup

Zero零_度
 Zero零_度
发布于 2017/01/16 10:21
字数 263
阅读 28
收藏 0

cogroup:对两个RDD中的KV元素,每个RDD中相同key中的元素分别聚合成一个集合。与reduceByKey不同的是针对两个RDD中相同的key的元素进行合并。

 

测试例子1

将多个RDD中同一个Key对应的Value组合到一起。

data1中不存在Key为3的元素(自然就不存在Value了),在组合的过程中将data1对应的位置设置为CompactBuffer()了,而不是去掉了。

 

 

测试例子2

 

[java] view plain copy

  1. <span style="font-size:18px;">val DBName=Array(  
  2.   Tuple2(1,"Spark"),  
  3.   Tuple2(2,"Hadoop"),  
  4.   Tuple2(3,"Kylin"),  
  5.   Tuple2(4,"Flink")  
  6. )  
  7. val numType=Array(  
  8.   Tuple2(1,"String"),  
  9.   Tuple2(2,"int"),  
  10.   Tuple2(3,"byte"),  
  11.   Tuple2(4,"bollean"),  
  12.   Tuple2(5,"float"),  
  13.   Tuple2(1,"34"),  
  14.   Tuple2(1,"45"),  
  15.   Tuple2(2,"47"),  
  16.   Tuple2(3,"75"),  
  17.   Tuple2(4,"95"),  
  18.   Tuple2(5,"16"),  
  19.   Tuple2(1,"85")  
  20. )  
  21. val names=sc.parallelize(DBName)  
  22. val types=sc.parallelize(numType)  
  23. val nameAndType=names.cogroup(types)  //基于key进行join 结果并没有顺序  
  24. nameAndType.collect.foreach(println)</span>  

 

 

 

输出结果:

 

[java] view plain copy

  1. <span style="font-size:18px;">(4,(CompactBuffer(Flink),CompactBuffer(bollean, 95)))  
  2. (1,(CompactBuffer(Spark),CompactBuffer(String, 34, 45, 85)))  
  3. (3,(CompactBuffer(Kylin),CompactBuffer(byte, 75)))  
  4. (5,(CompactBuffer(),CompactBuffer(float, 16)))  
  5. (2,(CompactBuffer(Hadoop),CompactBuffer(int, 47)))</span>  

本文转载自:http://blog.csdn.net/u012297062/article/details/51363000

Zero零_度
粉丝 69
博文 1258
码字总数 257684
作品 0
程序员
私信 提问
影响Spark输出RDD分区的操作函数

会影响到Spark输出RDD分区(partitioner)的操作 cogroup, groupWith, join, leftOuterJoin, rightOuterJoin, groupByKey, reduceByKey, combineByKey, partitionBy, sort, mapValues(如果父......

imbetter
2018/04/22
0
0
Spark中的键值对操作 JavaPairRDD

1.PairRDD介绍 List list=new ArrayList(); list.add("this is a test"); list.add("how are you?"); list.add("do you love me?"); list.add("can you tell me?"); JavaRDD lines=sc.paral......

u014236541
2018/05/08
0
0
【Spark】弹性分布式数据集RDD及其操作

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/gongxifacai_believe/article/details/86714557 1、RDD简介 RDD是Spark提供的核心抽象,全称为Resillient Distribu...

魏晓蕾
01/31
0
0
Spark Streaming流式处理

Spark Streaming介绍 Spark Streaming概述 Spark Streaming makes it easy to build scalable fault-tolerant streaming applications. 它可以非常容易的构建一个可扩展、具有容错机制的流式......

jiFeng丶
2018/07/26
0
0
Spark与Hadoop计算模型的比较分析

Spark与Hadoop计算模型的比较分析 最近很多人都在讨论Spark这个貌似通用的分布式计算模型,国内很多机器学习相关工作者都在研究和使用它。   Spark是一个通用的并行计算框架,由UCBerkele...

jmppok
2015/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Angular 英雄编辑器

应用程序现在有了基本的标题。 接下来你要创建一个新的组件来显示英雄信息并且把这个组件放到应用程序的外壳里去。 创建英雄组件 使用 Angular CLI 创建一个名为 heroes 的新组件。 ng gener...

honeymoose
今天
4
0
Kernel DMA

为什么会有DMA(直接内存访问)?我们知道通常情况下,内存数据跟外设之间的通信是通过cpu来传递的。cpu运行io指令将数据从内存拷贝到外设的io端口,或者从外设的io端口拷贝到内存。由于外设...

yepanl
今天
6
0
hive

一、hive的定义: Hive是一个SQL解析引擎,将SQL语句转译成MR Job,然后再在Hadoop平台上运行,达到快速开发的目的 Hive中的表是纯逻辑表,就只是表的定义,即表的元数据。本质就是Hadoop的目...

霉男纸
今天
3
0
二、Spring Cloud—Eureka(Greenwich.SR1)

注:本系列文章所用工具及版本如下:开发工具(IDEA 2018.3.5),Spring Boot(2.1.3.RELEASE),Spring Cloud(Greenwich.SR1),Maven(3.6.0),JDK(1.8) Eureka: Eureka是Netflix开发...

倪伟伟
昨天
13
0
eclipse常用插件

amaterasUML https://takezoe.github.io/amateras-update-site/ https://github.com/takezoe/amateras-modeler modelGoon https://www.cnblogs.com/aademeng/articles/6890266.html......

大头鬼_yc
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部