摘要: 1基本概念和原则 每一台host上面可以并行N个worker,每一个worker下面可以并行M个executor,task们会被分配到executor上面去执行。Stage指的是一组并行运行的task,stage内部是不能出现shuffle的,因为shuffle的就像篱笆一样阻止了并行task的运行 阅读全文
posted @ 2020-11-19 11:19 宁君 阅读(188) 评论(0) 推荐(0) 编辑
摘要: Spark性能优化指南——高级篇 Spark性能优化指南——基础篇 阅读全文
posted @ 2020-11-19 11:14 宁君 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 1.使用mapPartitions算子提高性能 mapPartition的优点:使用普通的map操作,假设一个partition中有1万条数据,那么function就要被执行1万次,但是使用mapPartitions操作之后,function仅仅会被执行一次,显然性能得到了很大的提升,这个就没必要在 阅读全文
posted @ 2020-11-19 11:13 宁君 阅读(445) 评论(0) 推荐(0) 编辑
摘要: 1 task的内存缓冲调节参数 2 reduce端聚合内存占比 spark.shuffle.file.buffer map task的内存缓冲调节参数,默认是32kb spark.shuffle.memoryFraction reduce端聚合内存占比,默认0.2 怎么判断在什么时候对这两个参数进行 阅读全文
posted @ 2020-11-19 11:08 宁君 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 降低cache操作的内存占比 方案: 通过SparkConf.set("spark.storage.memoryFraction","0.6")来设定。默认是0.6,可以设置为0.5 0.3 等 原因: spark中,堆内存又被划分成了两块儿,一块儿是专门用来给RDD的cache、persist操作 阅读全文
posted @ 2020-11-19 11:07 宁君 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 数据本地化等待时长调节的优化 在项目该如何使用? 通过 spark.locality.wait 参数进行设置,默认为3s,6s,10s。 项目中代码展示: new SparkConf().set("spark.locality.wait","10"); 作者:z小赵 链接:https://www.j 阅读全文
posted @ 2020-11-19 11:05 宁君 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 广播大变量,重复用到的变量 原因见 https://www.jianshu.com/p/2c297b23ebda 阅读全文
posted @ 2020-11-19 11:04 宁君 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 如果一个RDD在两个地方用到,就持久化他.不然第二次用到他时,会再次计算. 直接调用cache()或者presist()方法对指定的RDD进行缓存(持久化)操作,同时在方法中指定缓存的策略。 原文:https://www.jianshu.com/p/9555644ccc0f 阅读全文
posted @ 2020-11-19 11:03 宁君 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 问题一:有哪些资源可以分配给spark作业使用? 答案:executor个数,cpu per exector(每个executor可使用的CPU个数),memory per exector(每个executor可使用的内存),driver memory 问题二:在什么地方分配资源给spark作业? 阅读全文
posted @ 2020-11-19 11:02 宁君 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 作者:十一喵先森 链接:https://juejin.im/post/5e1c41c6f265da3e152d1e62 来源:掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 对上文的总结. Shuffle 的核心要点 什么是shuffle? 需要统筹全局的算子,sort就 阅读全文
posted @ 2020-11-19 11:00 宁君 阅读(84) 评论(0) 推荐(0) 编辑