关于Hive的调优(本身,sql,mapreduce)
1.关于hive的优化
-》大表拆分小表
-》过滤字段
-》按字段分类存放
-》外部表与分区表
-》外部表:删除时只删除元数据信息,不删除数据文件
多人使用多个外部表操作同一份数据文件
-》分区表:hive中的数据库,表,分区来说都是文件夹
提高了检索效率
-》手动创建
-》动态分区
-》外部表+分区表
-》数据的存储
-》存储格式:列式存储
-》压缩
2.SQL的优化
-》后join先filter
3.mapreduce的优化
-》并行处理
job1&job2 job3
hive.exec.parallel=true
hive.exec.parallel.thread.number=8
-》JVM重用
mapreduce.job.jvm.numtasks=$number
因为每次的jvm开启与关闭都是需要许多的资源
-》推测执行
mapreduce.map.speculative=true
mapreduce.reduce.speculative=true
hive.mapred.reduce.tasks.speculative.execution=true
-》map和reduce的个数
-》map个数:不好人为的设置
-》hdfs块的大小:dfs.blocks.size=128M
分片的大小:minisize/maxsize
mapreduce.input.fileinputformat.split.minisize
-》企业情景
-》文件大,少 200M 100个 map默认按块处理
-》文件小,多 40M 400个 map按分片
-》reudce个数
0.95-1.75*node*容器的个数
-》本地模式local:在当前节点运行整个任务
<property>
<name>hive.exec.mode.local.auto</name>
<value>true</value>
<description> Let Hive determine whether to run in local mode automatically </description>
</property>
条件:
1、job的输入数据的大小不能超过默认参数
inputbytes.size=128M
2、job处理的map task的个数
最新文章
- java常见的开发工具
- Inside The C++ Object Model - 04 C++对象模型的一个简单示例
- 共用字体-UI界面编辑器(SkinStudio)教程
- 关于 jsonp 跨域
- Bad Hair Day_单调栈
- EF4 Code First和EF6 Code First链接mysql的方法
- Unity3D基础学习 NGUI之Example 13 - Tabs简要概述
- 前端轻量级web进度条 – Nprogress &; nanobar
- hibernate注解的简单应用
- 转换器2:ThinkPhp模板转Django模板
- cordova原理与插件制作
- Chrome浏览器读写系统剪切板
- Dynamics 365出现数据加密错误怎么办?
- c# throw和throw ex
- linux下压缩解压缩命令
- uva 10123 - No Tipping dp 记忆化搜索
- Linux服务器同步Intetnet时间
- [C#]SQLite执行效率优化结论
- 网络调试 adb connect
- linux_shell_字符串