pysaprk数据倾斜怎么解决?
一、数据倾斜危害?
单个或少数的节点数据量特别大,但一个 Stage 所耗费的时间,是由最慢的那个 Task 决定,所以数据倾斜会导致两个后果:
- OOM(单或少数的节点);
- 拖慢整个Job执行时间(其他已经完成的节点都在等这个还在做的节点)。
二、数据倾斜的现象
当发现如下现象时,十有八九是发生数据倾斜了:
绝大多数 task 执行得都非常快,但个别 task 执行极慢,整体任务卡在某个阶段不能结束。
原本能够正常执行的 Spark 作业,某天突然报出 OOM(内存溢出)异常。
三、导致Spark数据倾斜的本质
在进行 shuffle 的时候,必须将各个节点上相同的 key 拉取到某个节点上的一个 task 来进行处理,比如按照 key 进行聚合或 join 等操作。此时如果某个 key 对应的数据量特别大的话,就会发生数据倾斜。比如大部分 key 对应10条数据,但是个别 key 却对应了100万条数据,那么大部分 task 可能就只会分配到10条数据,然后1秒钟就运行完了;但是个别 task 可能分配到了100万数据,要运行一两个小时。
四、定位最慢的Task所处的源码位置
步骤一:看数据倾斜发生在哪个stage。yarn-client模式下查看本地log或Spark Web UI中当前运行的是哪个stage;yarn-cluster模式下,通过Spark Web UI查看运行到了哪个Stage。
主要看最慢的Stage各task分配的数据量,来确定是否是数据倾斜。
步骤二:根据Stage划分,推算倾斜发生的代码(必然有Shuffle类算子)。
根据stage划分原理,推算出来发生倾斜的那个stage对应代码中的哪一部分,这部分代码中肯定会有一个shuffle类算子。简单实用方法:只要看到shuffle类算子或Spark SQL的SQL语句会有Shuffle类的算子的句子,就可以知道该地方划分为前后两个Stage。(用Python的PySpark接口,Spark Web UI会查看task在源码中的行数。)
五、解决方案
pysaprk数据倾斜怎么解决?相关推荐
- hive数据倾斜的解决办法
数据倾斜是进行大数据计算时常见的问题.主要分为map端倾斜和reduce端倾斜,map端倾斜主要是因为输入文件大小不均匀导致,reduce端主要是partition不均匀导致. 在hive中遇到数据倾 ...
- 机器学习数据倾斜的解决方法_机器学习并不总是解决数据问题的方法
机器学习数据倾斜的解决方法 总览 (Overview) I was given a large dataset of files, what some would like to call big d ...
- 如何解决mysql数据倾斜_什么是数据倾斜?如何解决数据倾斜?
原标题:什么是数据倾斜?如何解决数据倾斜? 导读 相信很多接触MapReduce的朋友对'数据倾斜'这四个字并不陌生,那么究竟什么是数据倾斜?又该怎样解决这种该死的情况呢? 何为数据倾斜? 在弄清什么 ...
- 35-Spark Streaming反压机制、Spark的数据倾斜的解决和Kylin的简单介绍
19.6 数据的反压机制⭐️ 反压机制的理解 数据流入的速度远高于数据处理的速度,对流处理系统构成巨大的负载压力,如果不能正确处理,可能导致集群资源耗尽,最终集群崩溃, 因此有效的反压机制(backp ...
- MapReduce 数据倾斜以及解决思路
MapReduce 数据倾斜以及解决思路 1.小背景 在mapreduce的分布式解决框架中,数据处理主要分为2个步骤,map阶段和reduce阶段 map阶段主要是数据转换,也就是按照预期把输入的数 ...
- hive解决数据倾斜问题_Hive数据倾斜和解决办法
转自:https://blog.csdn.net/xinzhi8/article/details/71455883 操作: 关键词 情形 后果 Join 其中一个表较小,但是key集中 分发到某一个或 ...
- select怎么设置默认值_20200817:详细说下数据倾斜怎么解决?
福哥答案2020-08-17: 数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎.很可能有几周甚至几月都要头疼于数据倾斜导致的各 ...
- 【HIVE数据倾斜常见解决办法】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.什么是HIVE数据倾斜? 二.数据倾斜原因及解决办法 1. Join 倾斜 a. 大表 Join 小表 b. 大表 ...
- 数据倾斜及其解决方式
数据倾斜是大数据领域绕不开的拦路虎,当你所需处理的数据量到达了上亿甚至是千亿条的时候,数据倾斜将是横在你面前一道巨大的坎.很可能有几周甚至几月都要头疼于数据倾斜导致的各类诡异的问题. 数据倾斜 ...
最新文章
- 云从科技3D人体重建技术刷新3项纪录!仅凭照片即可生成精细模型
- 关于大搜车「无线开发中心」团队
- python的电脑推荐_推荐8款常用的Python GUI图形界面开发框架
- mysql_connect() 不支持 请检查 mysql 模块是否正确加载
- JAVA语言概述和基本语法知识点
- [游泳] Sun Yang 1500 Swimming Stroke Analysis London 2012
- WebFlux02 SpringBoot WebFlux项目骨架搭建
- tomcatSupplement(1)tomcat启动脚本分析(以Windows平台为例)
- gridview行号
- python canny函数_python库skimage 应用canny边缘探测算法
- Java基础学习总结(49)——Excel导入导出工具类
- 安全双标准或成拖垮企网防护的新威胁
- 礼县职业中等专业学校计算机,礼县职业中等专业学校
- 阿里云云计算 20 在线实验--块存储的使用
- 一大推DISCUZ系列插件模板来了,需要的免费抢!!!
- 长青藤cad_长青网
- psn注册什么服务器,怎么注册PSN港服账号?PSN港服官网注册教程
- eclipse上配置JavaFX完整教程
- java宠物小精灵_4978:宠物小精灵之收服
- 轨迹(形状)相似性判断与度量方法
热门文章
- PCRF 关于地址对齐,大小端
- Invalid configuration of tez jars, tez.lib.uris is not defined in the configuration
- linux内核全局变量重定位,动态链接库中全局变量的重定位问题
- 使用VS+VisualGDB编译Linux版本RCF
- php生成统计图类pchart---中文翻译手册
- Matlab中产生门函数----Heaviside函数的调用方法
- opencv颜色识别学习总结
- layui教程(一) form 表单的提交问题
- 不懂精简指令集还敢说自己是程序员?
- HOOK技术四-插件中Activity启动实战