Spark 数据倾斜

Spark中的数据倾斜问题主要指shuffle过程中出现的数据倾斜问题,是由于不同的key对应的数据量不同导致的不同task所处理的数据量不同的问题。

例如,reduce点一共要处理100万条数据,第一个和第二个task分别被分配到了1万条数据,计算5分钟内完成,第三个task分配到了98万数据,此时第三个task可能需要10个小时完成,这使得整个Spark作业需要10个小时才能运行完成,这就是数据倾斜所带来的后果。

注意,要区分开数据倾斜与数据量过量这两种情况,数据倾斜是指少数task被分配了绝大多数的数据,因此少数task运行缓慢;数据过量是指所有task被分配的数据量都很大,相差不多,所有task都运行缓慢。

数据倾斜的表现:

  1. Spark作业的大部分task都执行迅速,只有有限的几个task执行的非常慢,此时可能出现了数据倾斜,作业可以运行,但是运行得非常慢;
  2. Spark作业的大部分task都执行迅速,但是有的task在运行过程中会突然报出OOM,反复执行几次都在某一个task报出OOM错误,此时可能出现了数据倾斜,作业无法正常运行。

定位数据倾斜问题:

  1. 查阅代码中的shuffle算子,例如reduceByKey、countByKey、groupByKey、join等算子,根据代码逻辑判断此处是否会出现数据倾斜;
  2. 查看Spark作业的log文件,log文件对于错误的记录会精确到代码的某一行,可以根据异常定位到的代码位置来明确错误发生在第几个stage,对应的shuffle算子是哪一个。

Spark 数据倾斜介绍_大数据培训相关推荐

  1. Spark Streaming架构介绍_大数据培训

    Spark Streaming架构 1 架构图 图1-1 SparkStreaming架构图 图1-2整体架构图 2 背压机制 Spark 1.5以前版本,用户如果要限制Receiver的数据接收速率 ...

  2. python 大数据开发工程师_大数据系列之大数据开发工程师

    继续介绍大数据系列岗位的要求,今天是"最热门"的岗位大数据开发工程师,之所以说热门主要是基于2个原因,一是因为很多应届生或者想转入大数据行业的同学,都是期望从事"大数据开 ...

  3. python开发和大数据开发工程师_大数据开发工程师的岗位职责

    大数据开发工程师负责该领域的业务需求讨论,完成技术方案及数据开发.下面是学习啦小编整理的大数据开发工程师的岗位职责. 大数据开发工程师的岗位职责1 职责: 1.负责所分管团队的团队建设和日常管理工作; ...

  4. 大数据治理工程师_大数据治理关键技术解析(转自EAWorld)

    在企业数据建设过程中,大数据治理受到越来越多的重视.从企业数据资产管理和提升数据质量,到自服务和智能化的数据应用,大数据治理的内容在不断地发展和完善,其落地实施的过程中会遇到各种各样的难题和挑战.本篇 ...

  5. Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

    深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:14:39 作者:陈飚 "昔我十年前,与君始相识." 一瞬间Hadoop也到了要 ...

  6. python大数据开发工程师_大数据开发工程师的职责

    大数据开发工程师的职责 大数据开发工程师的职责1 职责: 1.负责数据采集.数据存储.数据查询.数据计算等基础平台的设计和开发工作; 2.利用Hadoop.Spark.Flink等技术进行离线和实时数 ...

  7. python大数据好不好学_大数据好学吗?想转行大数据??

    作为一名IT从业者,同时也是一名教育工作者,我来回答一下这个问题. 首先,虽然大数据技术具有一定的难度,但是随着大数据技术体系的逐渐丰富和完善,大数据领域对于人才的需求类型也在不断趋于多元化,不同知识 ...

  8. 交通大数据应用细分_大数据之路之交通大数据应用总体架构设计

    上期简单介绍了大数据,了解了大数据应用的可行性与必然性,事实上也的确如此,大数据在公共管理(某省的最多跑一次),教育行业(某省交通厅大数据建设),税务行业(某省税务大数据平台应用建设),信息管理(某省 ...

  9. 大数据 就业 缺口_大数据专业就业前景 人才需求缺口大 今年增了24倍

    站在互联网风口上的"大数据",已经成为当前社会的热词.继2016年北京大学.中南大学.对外经贸大学首批设立大数据相关学科,中国人民大学.北京邮电大学.复旦大学.重庆理工大学在内的3 ...

最新文章

  1. 学python多贵_老男孩学习Python多少钱,学习Python贵吗?
  2. opengl入门资料
  3. Luogu P1108 低价购买 DP
  4. 用python实现结构体数组
  5. Nettiers快速使用入门(一) 数据库
  6. Executor 与 ExecutorService 和 Executors 傻傻分不清
  7. leetcode1414. 和为 K 的最少斐波那契数字数目(贪心算法)
  8. 近年来NLP在法律领域的相关研究工作
  9. 比较SynchronizedMap、Hashtable和ConcurrentHashMap的效率
  10. servlet-servletContext简述
  11. 时间复杂度与空间复杂度小结
  12. 阶段3 2.Spring_04.Spring的常用注解_5 自动按照类型注入
  13. c语言一个整数犯二的程度编程,2016天梯初赛上篇(部分题目)
  14. [裴礼文数学分析中的典型问题与方法习题参考解答]5.1.4
  15. SpellGCN:将语音学和视觉相似性结合到汉语拼写检查的语言模型
  16. 网页变灰恢复彩色的方法
  17. (十)MySQL中的逻辑条件 优先规则 排序(未完版)
  18. 腾讯手游助手android文件夹,腾讯手游助手中找到文件安装目录位置的详细操作方法...
  19. 微信小程序学习-组件Map-地图初始定位
  20. h5-自定义生成海报

热门文章

  1. 一文带你怼明白进程和线程通信原理
  2. 一个人尽然可以管理呢么多网站,强悍
  3. 互联网真的寒冬了么?——1024,祝程序员节日快乐。
  4. 【半导体先进工艺制程技术系列】SOI技术(下)
  5. Pandas基础教程
  6. 烟波流传,繁花三千,倾听似水流年
  7. Flowable流程启动源码分析
  8. 一如职场深似海,怎样避开人际关系的冰山?
  9. 为 CentOS 配置网络
  10. 题目 1566: 贪吃的大嘴