hive调优汇总

  • mapjoin:默认打开
  • 行列技术:join where => where + join
  • 采用分区
  • 列存储(加快查询速度)
  • 压缩(减少磁盘IO)
  • 合理设置map个数
    块大小:max(1, min(快大小,Long的最大值))
    块大小一般设置128m数据 =》1个maptask
  • distribute by rand(),将数据随机分区,保证每个分区的数据流基本一致
  • 合理设置reduce个数;可以根据数据量适当增加reduce个数;
  • 小文件如何产生?
    • 动态分区
    • reduce个数设置的过多;分区的key设置的不合理
    • 输入源本身就是小文件
  • 解决小文件问题
    • combinehiveInputformat 合并
    • 开启JVM重用
    • merge 如果是maponly任务,默认功能打开
      执行完任务,产生小文件,再开启一个作业,这个作业负责将默认小于16m的文件进行合并,默认合并到256m
    • 如果是mr任务。merge功能需要打开
  • 在map阶段开启combiner
    set hive.map.aggr = true
  • 替换引擎
    • mr引擎:基于磁盘; 速度慢 跨天,数据量比较大的场景
    • tez引擎:基于内存; 速度快 数据量比较小,临时测试,验证
    • spark引擎:基于磁盘 + 内存 速度较快 当天的定时任务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值