自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hery_csnd168的博客

不积跬步无以至千里,不积小流无以成江海

  • 博客(12)
  • 资源 (7)
  • 收藏
  • 关注

转载 Spark 2.x 性能调优-IBM

IBM Big Data PerformanceJesse Chen, [email protected] Troubleshooting Spark 2.x Building SparkRunning Spark-  ‘--verbose’-  Missing external JARs-  OOM on Spark driver-  OOM on executors-  GC pol...

2018-03-13 09:37:54 1641

原创 11shuffle调优之合并map端输出文件

前置条件每个executor有2个CPU core,4个task。task是线程执行的,所以先并行跑2个task,再跑剩下的2个task。问题分析:默认的shuffle行为,对性能有什么样的影响?实际生产环境的条件:100个节点,每个节点一个executor,那么有100个executor,每个executor2个CPU core,总共1000个task,每个executor平均10个task那...

2018-03-13 09:24:40 421

原创 10 shuffle调优原理概述-性能优化

什么的情况下会发生shuffle?在spark中,最主要是以下几个算子:groupByKey,reduceByKey,countByKey ,join等什么是shuffle?groupBykey ,把分布在集群各个节点上的数据中,同一个key,对应的values,都给集中到一块,集中到集群中的同一个节点,更严密的一点说,就是集中到一个节点的一个executor的一个task中。然后呢,集中一个ke...

2018-03-12 15:48:39 174

转载 09JVM调优之调节executor堆外内存与连接等待时长

executor 堆外内存有时候,如果你的 spark 作业处理的数据量特别特别大,比如有几亿数据量,然后spark 作业一运行,时不时的报错,出现 shuffle file cannot find 诸如此类的错误,导致 executor、task lost,out of memory(内存溢出),出现这种情况可能是说 executor 的堆外内存不太够用,导致 executor 在运行的过程中可...

2018-03-12 13:48:26 196

转载 08JVM调优之原理概述以及降低cache操作的内存占比

性能调优分类常规性能调优:分配资源、并行度等等方式。JVM 调优(Java虚拟机):JVM相关的参数。通常情况下,如果你的硬件配置、基础的 JVM 的配置都 ok 的话,JVM 通常不会造成太严重的性能问题,反而更多的是在 troubleshooting 中 JVM 占了很重要的地位, JVM 造成线上的 spark 作业的运行报错,甚至失败(比如OOM)。shuffle 调优(相当重要):spa...

2018-03-12 13:47:49 172

转载 07性能调优之调节数据本地化等待时长

数据本地化等待时长Spark 在 Driver上,对 Application 的每一个 stage 的 task 进行分配之前都会计算出每个 task 要计算的是哪个分片数据,即 RDD 的某个 partition。Spark 的 task 分配算法优先会希望每个 task 正好分配到它要计算的数据所在的节点,这样的话就不用在网络间传输数据。但是呢,通常来说,有时事与愿违,可能 task 没有机会...

2018-03-12 13:46:48 140

转载 06性能调优之使用 fastutil 优化数据格式

fastutil 介绍fastutil 是扩展了Java标准集合框架(Map、List、Set;HashMap、ArrayList、HashSet)的类库,提供了特殊类型的map、set、list和queue。fastutil 能够提供更小的内存占用,更快的存取速度。我们使用fastutil提供的集合类,来替代自己平时使用的JDK的原生的Map、List、Set,好处在于:fastutil集合类,...

2018-03-12 13:46:03 355

转载 05性能调优之Kryo序列化

Kryo 序列化原因在广播大变量进行优化后,还可以进一步优化,即优化这个序列化格式。 默认情况下,Spark内部是使用Java的序列化机制ObjectOutputStream / ObjectInputStream这种对象输入输出流机制来进行序列化。 这种默认序列化机制的好处在于:处理起来比较方便,也不需要我们手动去做什么事情,只是在算子里面使用的变量必须是实现Serializable接口的,可序...

2018-03-12 13:42:56 470

转载 04性能调优之广播大变量

问题分析Spark Application的Driver进程,其实就是我们写的Spark作业打成的jar运行起来的进程,以随机抽取map步骤为例,其工作时过程大致为: 这种默认的情况下,task执行的算子中使用了外部的变量,每个task都会获取一份变量的副本,有什么缺点呢?在什么情况下会出现性能上的恶劣的影响呢?因为map本身是不小,存放数据的一个单位是Entry,还有可能会用链表的格式的来存放E...

2018-03-12 13:42:10 160

转载 03性能调优之重构RDD架构以及RDD持久化

RDD架构重构与优化一种情况是从一个RDD到几个不同的RDD,算子和计算逻辑其实是完全一样的,结果因为人为的疏忽计算了多次,获取到了多个RDD。所以尽量去复用RDD,差不多的RDD可以抽取称为一个共同的RDD,供后面的RDD计算时,反复使用。公共RDD一定要实现持久化 当第一次对RDD2执行算子,获取RDD3的时候,就会从RDD1开始计算,就是读取HDFS文件,然后对RDD1执行算子,获取到RDD...

2018-03-12 13:38:09 159

转载 02性能调优之调节并行度

以 Spark 中的 WordCount 作业为例,每个Spark作业其实都是一个 Application,每个 Application 对应多个 Jobs,一个 action 操作(比如 collect)触发一个 job,在WordCount程序中有一个 job,每个 job 拆成多个 stage(发生 shuffle 的时候回拆分出一个 stage),reduceByKey 处会发生 shuf...

2018-03-07 09:20:04 146

转载 01性能调优之分配更多资源

分配更多资源性能调优的王道就是增加和分配更多的资源,性能和速度上的提升是显而易见的。基本上,在一定范围之内,增加资源与性能的提升是成正比的。写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得就是要来调节最优的资源配置,在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,那么才是考虑去做后面的这些性能调优的点。分配哪些...

2018-03-07 09:05:36 175

LearningSparkSQL_Code.zip

spark2.0的sparksql代码,各种示例源码,适合入门开发人员参考使用

2017-10-23

研发反模式最终版

研发反模式研发反模式研发反模式研发反模式研发反模式

2017-09-28

阿里巴巴Java开发手册最新版

阿里巴巴Java开发手册最新版,阿里巴巴Java开发手册最新版

2017-09-28

用户画像说明

用户画像,用户画像,用户画像,用户画像,用户画像,用户画像,用户画像

2017-09-28

sourcetree-证书

sourcetree,证书,注册,git工具,license,sourcetree,证书,注册,git工具,license

2017-09-28

Apache_Spark源码走读

2016-11-12

Storm分布式实时计算模式

2016-11-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除