调优概述
大多数Spark作业的性能主要就是消耗在了shuffle环节,因为该环节包含了大量的磁盘IO、序列化、网络数据传输等操作。因此,如果要让作业的性能更上一层楼,就有必要对shuffle过程进行调优。但是也必须提醒大家的是,影响一个Spark作业性能的因素,主要还是代码开发、资源参数以及数据倾斜,shuffle调优只能在整个Spark的性能调优中占到一小部分而已。因此大家务必把握住调优的基...
分类:
其他好文 时间:
2016-05-18 18:59:14
阅读次数:
148
调优概述
有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。
数据倾斜发生时的现象
1、绝大多数task执行得都非常快,但个别task执行极慢。比如,总共有1000个task,997个task都在1分钟之内执行完了,但是剩余两三个tas...
分类:
其他好文 时间:
2016-05-18 18:58:03
阅读次数:
221
hive使用技巧(四)——巧用MapJoin解决数据倾斜问题...
分类:
其他好文 时间:
2016-05-12 12:33:15
阅读次数:
264
一、到底什么是Shuffle?Shuffle中文翻译为“洗牌”,需要Shuffle的关键性原因是某种具有共同特征的数据需要最终汇聚到一个计算节点上进行计算。二、Shuffle可能面临的问题?1,数据量非常大;2,数据如何分类,即如何Partition,Hash、Sort、钨丝计算;3,负载均衡(数据倾斜..
分类:
其他好文 时间:
2016-05-04 06:48:59
阅读次数:
195
倾斜的原因: 使map的输出数据更均匀的分布到reduce中去,是我们的最终目标。由于Hash算法的局限性,按key Hash会或多或少的造成数据倾斜。大量经验表明数据倾斜的原因是人为的建表疏忽或业务逻辑可以规避的。 解决思路: Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage ...
分类:
其他好文 时间:
2016-05-02 14:21:41
阅读次数:
191
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的 Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均 值能代表的价值降低。Hiv ...
分类:
其他好文 时间:
2016-04-15 20:19:39
阅读次数:
246
要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。 理解hadoop的核心能力,是hive优化的根本。 长期观察hadoop处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜。 2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如
分类:
其他好文 时间:
2016-02-26 21:59:40
阅读次数:
274
1. 查询语句可以加上一句: -- 定义job名字SET mapred.job.name='customer_rfm_analysis_L1'; 这样在job任务列表里可以第一眼找到自己的任务。 2. 少用distinct, 因为会把数据弄在一个reduce中,造成数据倾斜。 尽量用group by
分类:
其他好文 时间:
2016-02-19 18:55:45
阅读次数:
154
转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842860.html在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化...
分类:
其他好文 时间:
2016-01-25 19:25:04
阅读次数:
142
转自:http://my.oschina.net/leejun2005/blog/100922最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解. 在并行计算中我们总希望分配的每一个task 都能以差不多的粒度来切分并且完成时间相差不大,但是集群中可能硬件不同,应用的类型不同和切分...
分类:
其他好文 时间:
2015-12-06 17:26:35
阅读次数:
206