浅谈一波hive中参数设置的含义

分布式框架计算特性
1、数据量大不是问题,数据倾斜是个问题
2、jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次
汇总,产生十几个 jobs,耗时很长。原因是 map reduce 作业初始化的时间是比较长的
3、sum,count,max,min 等 UDAF,不怕数据倾斜问题,hadoop 在 map 端的汇总合并优化,使
数据倾斜不成问题
4、count(distinct userid),在数据量大的情况下,效率较低,如果是多 count(distinct
userid,month)效率更低,因为 count(distinct)是按 group by 字段分组,按 distinct 字段排序,
一般这种分布方式是很倾斜的,比如 PV 数据,淘宝一天 30 亿的 pv,如果按性别分组,分
配 2 个 reduce,每个 reduce 期望处理 15 亿数据,但现实必定是男少女多
设置合理的 maptask 数量
Map 数过大
Map 阶段输出文件太小,产生大量小文件
初始化和创建 Map 的开销很大
Map 数太小
文件处理或查询并发度小,Job 执行时间过长
大量作业时,容易堵塞集群
在 MapReduce 的编程案例中,我们得知,一个MR Job的 MapTask 数量是由输入分片 InputSplit
决定的。而输入分片是由 FileInputFormat.getSplit()决定的。一个输入分片对应一个 MapTask,
而输入分片是由三个参数决定的:
dfs.blocksize 128M HDFS 默认数

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值