Hive 调优】的更多相关文章

Hive调优 Hive调优 Fetch抓取 本地模式 表的优化 小表.大表Join 大表Join大表 MapJoin Group By Count(Distinct) 去重统计 行列过滤 动态分区调整 案例实操 数据倾斜 Map数 小文件进行合并 复杂文件增加Map数 Reduce数 并行执行 严格模式 JVM重用 推测执行 执行计划(Explain) Fetch抓取 Fetch抓取是指:Hive中对某些情况的查询可以不必使用MapReduce计算 例如:SELECT * FROM employ…
数据倾斜即为数据在节点上分布不均,是常见的优化过程中常见的需要解决的问题.常见的Hive调优的方法:列剪裁.Map Join操作. Group By操作.合并小文件. 一.表现 1.任务进度长度为99%,在任务监控页面中发现只有几个 reduce 子任务未完成: 2.单一 reduce 记录与平均记录数差异过大(大于3倍),最长时长>>平均时长: 3.job数多的,效率低,多次关联后,产生几个jobs,起码半小时以上才跑完: 二.原因 1.key分布不均: 2.业务数据本身问题: 3.建表有问…
Hive调优 先记录了这么多,日后如果有遇到,再补充. fetch模式 <property> <name>hive.fetch.task.conversion</name> <value>more</value> <description> Expects one of [none, minimal, more]. Some select queries can be converted to single FETCH task mi…
hive 调优(二)参数调优汇总 在hive调优(一) 中说了一些常见的调优,但是觉得参数涉及不多,补充如下 1.设置合理solt数 mapred.tasktracker.map.tasks.maximum 每个tasktracker可同时运行的最大map task数,默认值2. mapred.tasktracker.reduce.tasks.maximum 每个tasktracker可同时运行的最大reduce task数,默认值1. 2.配置磁盘块 mapred.local.dir map…
hive 调优(一)coding调优 本人认为hive是很好的工具,目前支持mr,tez,spark执行引擎,有些大公司原来封装的sparksql,开发py脚本,但是目前hive支持spark引擎(不是很稳定,建议Tez先),所以离线还是用hive比较好. 先将工作中总结,以及学习其他人的hive优化总结如下: 一. 表连接优化 这是比较常见的问题 1.  将大表放后头 Hive假定查询中最后的一个表是大表.它会将其它表缓存起来,然后扫描最后那个表. 因此通常需要将小表放前面,或者标记哪张表是大…
在hive调优(一) 中说了一些常见的调优,但是觉得参数涉及不多,补充如下 1.设置合理solt数 mapred.tasktracker.map.tasks.maximum 每个tasktracker可同时运行的最大map task数,默认值2. mapred.tasktracker.reduce.tasks.maximum 每个tasktracker可同时运行的最大reduce task数,默认值1. 2.配置磁盘块 mapred.local.dir map task中间结果写本地磁盘路径,默…
Hive调优手段 最常用的调优手段 Fetch抓取 MapJoin 分区裁剪 列裁剪 控制map个数以及reduce个数 JVM重用 数据压缩 Fetch的抓取 出现原因 Hive中对某些情况的查询不必使用MapReduce计算.在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台.(原则就是能不用MapReduce就不用MapReduce) 比如以下这几种情况: SELECT * FROM score; SELECT s_score FROM s…
前言 Hive是由Facebook 开源用于解决海量结构化日志的数据统计,是基于Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL查询功能. 在资源有限的情况下,提高作业的查询效率从而达到快速产出数据的想法势在必行.掌握Hive的调优方法能够提升工作效率同时提高任务执行的稳定性.本文会从以下几个方面介绍Hive调优的思路: 设计优化 存储优化 作业优化 1.设计优化 分区表和索引 对表进行合理的管理以及提高查询效率,分区是表的部分列的集合,可以为频繁使用的数据…
调优手段 ()利用列裁剪 当待查询的表字段较多时,选取需要使用的字段进行查询,避免直接select *出大表的所有字段,以免当使用Beeline查询时控制台输出缓冲区被大数据量撑爆. ()JOIN避免笛卡尔积 JOIN场景应严格避免出现笛卡尔积的情况.参与笛卡尔积JOIN的两个表,交叉关联后的数据条数是两个原表记录数之积,对于JOIN后还有聚合的场景而言,会导致reduce端处理的数据量暴增,极大地影响运行效率. 以下左图为笛卡尔积,右图为正常Join. ()启动谓词下推 谓词下推(Predic…
Hive存储格式选择 和Hive 相关优化: 压缩参考 Hive支持的存储数的格式主要有:TEXTFILE .SEQUENCEFILE.ORC.PARQUET. 文件存储格式 列式存储和行式存储 行存储的特点:查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快. 列存储的特点:因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量:每个字段的数据类型一定是相同…