IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据倾斜及治理方法 -> 正文阅读

[大数据]数据倾斜及治理方法

常见会产生数据倾斜的框架:
hadoop,hive,hbase,flink,spark,sqoop,以及各种Shuffle阶段

一、对于数据倾斜的定义
1.是什么:
在shuffle过程中大量同一key的数据被分配至同一分区,导致其中一节点压力过大,而其他节点过于清闲的情况。
2.现象:
①绝大多数map Task运行快速,而个别Task,尤其多见于reduce task运行过慢。
②OOM(Hadoop——container,Spark——driver)
3.原理:
进行Shuffle的过程中将相同的key的数据拉取到某个reduce Task节点上进行处理,而相同key下数据量过大。

二、解决思路
1.增加JVM
2.指定分区策略
3.重新设计key

三、具体措施
1.排查空值问题:多见于爬取数据时网站设防,爬取到大量空数据。若同一key中存在大量null值则选择剔除空值、或对其进行打散的操作。
2.设置负载均衡,set hive.groupby.skewindata = true;//底层将其转为多job关联模式
3.检查类型是否需要强转:最新版本的hive中会对类型进行默认强转操作,但若hive版本较老,则需要手动使用cast强转。
4.SQL优化:①使用group by 代替distinct group
②mapjoin, 在map阶段进行提前聚合,降低reduce阶段Shuffle量。

PS:网上存在一些通过更改reduce Task个数来尝试解决数据倾斜问题的,但这种操作本质上不可取。因为reduce阶段的操作都是task从所有mapTask中拉取运算结果进行计算,reduceTask相互不存在并行执行同一任务的关系。每个reduceTask单独计算全部任务,故无效。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:42:40  更:2021-07-31 16:43:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 3:13:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码