没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
Hive 优化建议
慎用 count(distinct( columnA ))
在大数据场景下不怕数据量大,怕的是数据倾斜,在数据量较大的情况下不要使用 count(disnct
( columnA )),这个函数极易触发数据倾斜问题,要用 group 代替。
Map 阶段优化
一、减少 map 数:
是为了避免小文件过多造成启动很多 map 任务,浪费集群资源,影响其他 job 的正常运行。对于
总运行时间的减少大部分是节省在 map 任务的启停与排队等待资源上。注意:对于我们集群上大部
分作业来说减少 map 数更好一些
set mapred.max.split.size= 268435456;
set mapred.min.split.size.per.node= 134217728;
set mapred.min.split.size.per.rack= 134217728;
set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
参数解释:
268435456 Bytes = 256MB
134217728 Bytes = 128MB
mapred.max.split.size:每个 Map 最大输入大小
mapred.min.split.size.per.node:一个节点上 split 的至少的大小(这个值决定了多个 DataNode 上的文件是否需要合并)
mapred.min.split.size.per.rack:一个交换机下 split 的至少的大小(这个值决定了多个交换机上的文件是否需要合并)
hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat:执行 Map 前进行小文件合并
前三个参数用于确定 map 任务切割大小。注:集群 hdfs 的 block 块大小为 128MB。
第四个参数表示在任务执行前进行小文件合并。
在 hive sql 加上这 4 个参数后表示:
1、 大于 256MB 的文件,按照 256MB 分割输入文件
2、 小于 256MB 但大于 128MB 的文件,按照 128MB 分割
3、 小于 128MB 的文件(包括小文件和大文件切割后剩下的),进行合并
注意:要结合实际情况进行着三个参数的设置,找到最合适的设置。
未加参数:
加参数之后:
黑幕Zz
- 粉丝: 8
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- jaudiotagger音频元数据
- 基于bert4keras 和tf2的多标签文本分类源代码+数据集
- 学生信息表.html
- C#WPF音乐、视频播放器
- YINTR24373-Next-Generation_DRAM_2024-Focus_on_HBM_and_3D_DRAM.pdf
- ME2320D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- java swing + mysql 自动售货机系统
- ME2319-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于asp.net的宠物管理系统源码+项目说明(高分项目).zip
- 05.11+77777777777777777777
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0