大数据IMF传奇行动绝密课程第46课:Spark性能优化第二季

原创 2016年08月30日 19:42:57

Spark性能优化第二季

1、Task性能优化
2、数据倾斜性能优化
3、网络性能优化

一、Task性能优化
1、慢任务的性能优化:可以考虑每个Partition处理的数据量,同时建议开启spark.speculation,开启任务推测,在任务还没有完成的情况下开启相同的任务,谁先执行完就执行它。
2、尽量减少Shuffle,例如我们要尽量减少groupByKey的操作,因为groupByKey会要求通过网络拷贝(Shuffle)所有的数据,优先考虑使用reduceByKey,因为reduceByKey会首先reduce locally,再例如在进行join操作的时候,形如(K1,V1)和(K1,V2)=>(K1,V3)此时就可以再进行pipeline,但是(o1) join (o2)=> (o3),此时会产生Shuffle操作;
3、Repartition:增加Task数量的时候可以考虑使用,从而更加充分使用计算资源;
Coalesce:整理Partition碎片;
二、数据倾斜
1、定义更加合理的Key(或者说自定义Partitioner);
2、可以考虑使用ByteBuffer来存储Block,最大的存储数据为2G,如果超过这个大小会报异常;
三、网络
1、可以考虑Shuffle的数据放在Tachyon中带来更好的数据本地性,减少网络的Shuffle;
2、优先采用Netty的方式进行网络通信
3、广播:例如进行Join操作的时候采用Broadcast可以达到完全的数据本地性的情况下进行Join操作
4、mapPartitions中的函数会直接作用于整个Partition(一次!)
5、最优先考虑是PROCESS_LOCAL(spark默认情况下这样做),所以更应该考虑使用Tachyon;
6、如果要访问HBase或者Canssandra,务必保证数据处理发生在数据所在的机器上。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

大数据IMF传奇行动绝密课程第44课:真正的Spark功力:性能优化!

真正的Spark功力:性能优化!1、Spark性能优化的重要性 2、Spark性能问题在哪里? 3、什么样的Spark人才会年薪50万以上一、Spark性能优化的重要性 快速解决生产问题、性能优...

大数据IMF传奇行动绝密课程第48课:Spark性能优化第四季

Spark性能优化第四季1、序列化 2、JVM性能调优 一、Spark性能调优之序列化 1、之所以进行序列化,最重要的原因是内存空间有限(减少GC的压力,最大化的避免Full GC的产生,因为一...

大数据IMF传奇行动绝密课程第21课:从Spark架构中透视Job

从Spark架构中透视Job1、通过案例观察Spark架构 2、手动绘制Spark内部架构 3、Spark Job的逻辑视图解析 4、Spark Job的物理视图解析spark粗粒度Spark主...

[转]linux内核中的min、max函数

转:http://my.chinaunix.net/space.php?uid=23247212&do=blog&id=99921这些天为了整理一下前段时间看ldd3时所学的驱动知识,所以就去看了看u...

Spark RPC

一:Spark 1.6RPC解析1,Spark 1.6推出RpcEnv,RPCEndpoint,PRCEndpointRef为核心的新型架构下的RPC通信方式,就目前的实现而言,其底层依旧是Akka;...

大数据IMF传奇行动绝密课程第49课:Spark性能优化第五季

Spark性能优化第五季1、数据本地性 2、RDD自定义 一、性能优化之数据本地性 1、数据本地性对分布式系统的性能而言是一件最为重要的事情(之一),程序运行本身包含代码和数据两部分,单机版本一...

Spark性能优化第七季之Spark 钨丝计划

一:“钨丝计划”产生的本质原因1,Spark作为一个一体化多元化的(大)数据处理通用平台,性能一直是其根本性的追求之一,Spark基于内存迭代(部分基于磁盘迭代)的模型极大的满足了人们对分布式系统处理...

大数据IMF传奇行动绝密课程第54课:Spark性能优化第十季之Spark统一内存管理

Spark性能优化第十季之Spark统一内存管理1、传统的Spark内存管理的问题 2、Spark统一内存管理 3、展望Spark内存分为三部分:Execution、Sotrage、Other; ...

Spark性能优化第一季

一:Spark性能优化核心基石1, Spark是采用Master-Slaves的模式进行资源管理和任务执行的管理:a) 资源管理:Master-Workers,在一台机器上可以有多个Workers;b...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)