文档章节

http://www.36dsj.com/archives/70751?ref=myread

s
 ssxxttzz
发布于 2016/12/06 18:00
字数 532
阅读 8
收藏 0

摘要

Spark是一个Apache项目,它被标榜为“快如闪电的集群计算”。它拥有一个繁荣的开源社区,并且是目前最活跃的Apache项目。Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍。同时spark也让传统的map reduce job开发变得更加简单快捷。本文将简单介绍几个经典hadoop的mr按理用spark实现,来让大家熟悉spark的开发。

最大值最小值

求最大值最小值一直是Hadoop的经典案例,我们用Spark来实现一下,借此感受一下spark中mr的思想和实现方式。话不多说直接上code:

36大数据

 

预期结果:

max: 1001min: 2

思路和hadoop中的mr类似,设定一个key,value为需要求最大与最小值的集合,然后再groupBykey聚合在一起处理。第二个方法就更简单,性能也更好。

平均值问题

求每个key对应的平均值是常见的案例,在spark中处理类似问题常常会用到combineByKey这个函数,详细介绍请google一下用法,下面看代码:

36大数据

 

我们让每个partiton先求出单个partition内各个key对应的所有整数的和 sum以及个数count,然后返回一个pair(sum, count)在shuffle后累加各个key对应的所有sum和count,再相除得到均值.

TopN问题

Top n问题同样也是hadoop种体现mr思想的经典案例,那么在spark中如何方便快捷的解决呢:

36大数据

 

思路很简单,把数据groupBykey以后按key形成分组然后取每个分组最大的2个。预期结果:

36大数据

 

以上简单介绍了一下hadoop中常见的3个案例在spark中的实现。如果读者们已经接触过或者写过一些hadoop的mapreduce job,那么会不会觉得在spark中写起来方便快捷很多呢。

本文转载自:

s
粉丝 0
博文 4
码字总数 0
作品 0
廊坊
私信 提问
hadoop 、spark

http://www.36dsj.com/archives/38082 http://blog.csdn.net/ghevinn/article/details/37764791

八戒_o
2016/01/02
116
0
Android 半透明手势指引遮罩

http://blog.csdn.net/sunmanzth/article/details/6902458 http://blog.csdn.net/huanghai381/article/details/42222315?ref=myread http://www.jcodecraeer.com/a/opensource/2014/1119/200......

当空皓月
2015/03/19
545
0
HBase架构导论

1 引言 本文由我东抄西抄汇总而成,重要链接已在文章中有给出。 通常认为,Hadoop主要包含以下四大组件: 分布式锁服务 Zookeeper 分布式文件系统 HDFS 分布式计算框架 MapReduce 分布式数据...

林中漫步
2016/05/15
83
0
【转】合并压缩js,减少http请求次数

原文:http://blog.csdn.net/wzgdjm/article/details/50832434?ref=myread 在我之前写的性能优化中,推荐大家使用雪碧图,压缩图片大小是一个方面,还有一个比较重要的方面就是,将图片放到一...

iNiL0119
2016/10/10
29
0
python粒子群算法的实现

参考博客: http://blog.csdn.net/zuochao_2013/article/details/53431767?ref=myread http://blog.csdn.net/chen_jp/article/details/7947059 算法介绍 粒子群算法(particle swarm optimiz......

winycg
2018/01/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

32位与64位Linux系统下各类型长度对比

64 位的优点:64 位的应用程序可以直接访问 4EB 的内存和文件大小最大达到4 EB(2 的 63 次幂);可以访问大型数据库。本文介绍的是64位下C语言开发程序注意事项。 1. 32 位和 64 位C数据类型...

mskk
8分钟前
1
0
Vue 实现点击空白处隐藏某节点(三种方式:指令、普通、遮罩)

在项目中往往会有这样的需求: 弹出框(或Popover)在 show 后,点击空白处可以将其 hide。 针对此需求,整理了三种实现方式,大家按实际情况选择。 当然,我们做项目肯定会用到 UI 框架,常...

张兴华ZHero
14分钟前
2
0
SpringBoot激活profiles你知道几种方式?

多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,在SpringBoot内支持了多种配置隔离的方式,可以激活单个或者多个配置文件。 激活Profi...

恒宇少年
16分钟前
3
0
PDF修改文字的方法有哪些?怎么修改PDF文件中的文字

PDF修改文字一直以来都是一个难以解决的问题,很多的办公族在办公的时候会有修改PDF文件中的文字的需要,可是PDF文件一般是不能进行编辑和修改的,难道就没有什么办法解决这个问题了嘛?不要...

趣味办公社
19分钟前
2
0
企业组织中采用服务网格的挑战

作者:Christian Posta 译者:罗广明 原文:https://blog.christianposta.com/challenges-of-adopting-service-mesh-in-enterprise-organizations/ 编者按 本文作者介绍了企业组织采用服务网...

jimmysong
28分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部