Hive 调优

作者: 9c0ddf06559c | 来源:发表于2018-10-09 15:48 被阅读5次

列出调优参数列表

-- group by,join 数据倾斜
set hive.groupby.skewindata=true; --如果是group by过程出现倾斜 应该设置为true

set hive.skewjoin.key=100000; --这个是join的键对应的记录条数超过这个值则会进行分拆,值根据具体数据量设置

set hive.optimize.skewjoin=true;--如果是join 过程出现倾斜 应该设置为true



-- 控制map数量
set mapred.min.split.size.per.node; -- 一个节点上split的至少的大小

set mapred.min.split.size.per.rack; -- 一个交换机下split至少的大小

set mapred.max.split.size; -- 一个split最大的大小

set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat -- map端做combine

set spark.hadoop.mapreduce.input.fileinputformat.split.maxsize=67108864; --spark控制map数量

set spark.hadoop.mapreduce.input.fileinputformat.split.minsize=67108864; --spark控制map数量



-- 控制reduce数量 (计算reducer数的公式很简单N=min( hive.exec.reducers.max ,总输入数据量/ hive.exec.reducers.bytes.per.reducer ))
set mapred.reduce.tasks; -- 强制指定reduce的任务数量

set hive.exec.reducers.bytes.per.reducer; -- 每个reduce任务处理的数据量,默认为1000^3=1G

set hive.exec.reducers.max; -- 每个任务最大的reduce数,默认为999


-- map 端聚合
set hive.map.aggr = true; -- 是否在 Map 端进行聚合,默认为 True
set hive.groupby.mapaggr.checkinterval = 100000; -- 预先取n条聚合检查
set hive.map.aggr.hash.min.reduction=0.5; -- 如果聚合后的条数/checkinterval>0.5,则不再聚合


-- 小文件合并
set hive.merge.mapfiles = true -- 是否和并 Map 输出文件,默认为 True
set hive.merge.mapredfiles = false -- 是否合并 Reduce 输出文件,默认为 False
set hive.merge.size.per.task = 256*1000*1000 -- 合并文件的大小

-- mapreduce运行时JVM内存
set mapreduce.map.memory.mb = 4096
set mapreduce.reduce.memory.mb = 4096

-- spark参数调优
set spark.executor.memroy=3G; -- 设置executor运行内存

set spark.yarn.executor.memoryOverhead=??? -- 设置堆外内存大小

set spark.driver.memory=14G; -- XT调整driver内存

set spark.executor.memory=4G; -- 调整executor内存

set spark.executor.cores=2; -- 调整executor核数

set spark.sql.shuffle.partitions=4000; -- 调整并发度

set spark.dynamicAllocation.maxExecutors=2000; -- 调整最大资源使用量

具体可参考https://www.cnblogs.com/xd502djj/p/3799432.html

相关文章

  • Hive 调优总结,让 Hive 调优想法不再碎片化

    通过阅读比较多的 Hive 调优材料,并根据自己的实践,总结 Hive 调优如下,让 Hive 调优想法不再凌乱、...

  • hive调优实战系列文章-hive调优和问题排查思路

    本文将介绍Hive调优的整体过程,以及本人对Hive调优过程的一些思考,包括Hive调优的一般步骤,和调优方法。 ...

  • Hive ETL 优化(参数篇)

    Hive 调优-参数篇 <** 工作中常用的 hive 参数调优,整理如下。 原则: 最少数据 最少字段 最少Jo...

  • hive调优

    1,参数调优 hive.map.aggr = true hive.groupby.skewindata =tr...

  • Hive调优

    1.使用explain 和 explain extended 2.限制调整 limit 在使用Limit 时只输...

  • Hive 调优

    列出调优参数列表 具体可参考https://www.cnblogs.com/xd502djj/p/3799432....

  • Hive调优

    Fetch抓取(Hive可以避免进行MapReduce)Hive中对某些情况的查询可以不必使用MapReduce计...

  • HIVE 调优

    1. Fetch抓取 Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SE...

  • Hive调优

    1、Fetch 抓取 Fetch 抓取是指,Hive 中对某些情况的查询可以不必使用 MapReduce 计算。例...

  • Hive调优

    10.hive调优 10.1 Fetch抓取 Hive中对某些情况的查询可以不必使用MapReduce计算。例如:...

网友评论

    本文标题:Hive 调优

    本文链接:https://www.haomeiwen.com/subject/nixyaftx.html