hive的调优:第一个调优:fetch抓取,能够避免使用mr的,就尽量不要用mr,因为mr太慢了 set hive.fetch.task.conversion=more 表示我们的全局查找,字段查找,limit查找都不走mr 这个属性配置有三个取值 more minimal none 如果配置成none,所有的都要走mr程序 hive的本地模式: set hive.exec.mode.local.auto=true 开启本地模式,解决多个小文件输入的时候,分配资源时间超过数据的计算时间 set…
数据的倾斜: 主要就是合理的控制我们的map个数以及reduce个数 第一个问题:maptask的个数怎么定的???与我们文件的block块相关,默认一个block块就是对应一个maptask 第二个问题:reduceTask的个数怎么定的???是我们自己手动设置的,爱设几个设几个,没人管你 第三个问题:是不是maptask的个数越多越好:不一定:有时候有些小文件,都要启动一个maptask,分配资源的时间超过了数据处理的时间 减少mapTask的个数:设置map端的小文件合并:使用combin…
执行如下截图中的语句时卡住了: 原因:yarn未启动,hive底层是要提交mapreduce到yarn上才能计算结果的. 之前启动yarn时,未执行jps查看是否已经启动.其实未启动成功: [root@node01 ~]# start-yarn.sh starting yarn daemons resourcemanager running as process 3220. Stop it first. 具体原因未知. 解决方法:重新启动dfs.yarn.jobhistory.  …
Hive存储格式选择 和Hive 相关优化: 压缩参考 Hive支持的存储数的格式主要有:TEXTFILE .SEQUENCEFILE.ORC.PARQUET. 文件存储格式 列式存储和行式存储 行存储的特点:查询满足条件的一整行数据的时候,列存储则需要去每个聚集的字段找到对应的每个列的值,行存储只需要找到其中一个值,其余的值都在相邻地方,所以此时行存储查询的速度更快. 列存储的特点:因为每个字段的数据聚集存储,在查询只需要少数几个字段的时候,能大大减少读取的数据量:每个字段的数据类型一定是相同…
Hive调优 Hive调优 Fetch抓取 本地模式 表的优化 小表.大表Join 大表Join大表 MapJoin Group By Count(Distinct) 去重统计 行列过滤 动态分区调整 案例实操 数据倾斜 Map数 小文件进行合并 复杂文件增加Map数 Reduce数 并行执行 严格模式 JVM重用 推测执行 执行计划(Explain) Fetch抓取 Fetch抓取是指:Hive中对某些情况的查询可以不必使用MapReduce计算 例如:SELECT * FROM employ…
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调优(一) 中说了一些常见的调优,但是觉得参数涉及不多,补充如下 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 调优(一)coding调优 本人认为hive是很好的工具,目前支持mr,tez,spark执行引擎,有些大公司原来封装的sparksql,开发py脚本,但是目前hive支持spark引擎(不是很稳定,建议Tez先),所以离线还是用hive比较好. 先将工作中总结,以及学习其他人的hive优化总结如下: 一. 表连接优化 这是比较常见的问题 1.  将大表放后头 Hive假定查询中最后的一个表是大表.它会将其它表缓存起来,然后扫描最后那个表. 因此通常需要将小表放前面,或者标记哪张表是大…