优化 Hive ETL 任务(参数篇)
点击蓝色“ 大数据每日哔哔 ”关注我 加个“ 星标 ”, 第一时间获取 大数据架构,实战经验 图片来源网络,点赞 工作中常用的 hive 参数调优,整理如下。 通过查看线上日志的任务日志,可以获取任务运行每个阶段的耗时情况,结合集群的资源、任务的逻辑,可以从下面这几个角度优化我们的任务。 有时候,并不需要调整任务的参数,可能只需要调整任务的定时即可,大任务错峰执行,也可以优化单个任务的运行时长。 原则: 最少数据 最少字段 最少Job数 最少读取次数 避免数据倾斜 整体最优而不是局部最优 JVM 内存 (以上,最优解组合不一定是整体最优,要视情况而定。) 文件大小合理切分 这里需要结合 集群的资源 来合理的设置切片大小。 # 文件分割大小 set mapreduce.input.fileinputformat.split.maxsize=536870912; # 节点文件分割大小 set mapreduce.input.fileinputformat.split.minsize.per.node=536870912; # 机架文件分割大小 set mapreduce.input.fileinputformat.split.minsize.per.rack=536870912; # Reduce 文件分割大小 set hive.exec.reducers.bytes.per