hive入门学习:hive的调优(二)
来源:互联网 发布:js 按钮显示隐藏 编辑:程序博客网 时间:2024/06/07 03:26
hive入门学习:hive的调优(二)
并行执行:
hive会把查询转化成为一个或者多个阶段,这样的阶段可以是mapreduce阶段,抽样阶段,合并阶段,limit阶段等等。默认情况下hive一次只会执行一个阶段,不过某些特定的阶段可能会包含众多的阶段,而这些阶段并非互相依赖,可以并行执行,这样就可以大幅度的缩短job的执行时间。如下配置来设定:set hive.exec.parallel=true来开启并行执行。
严格模式:
hive提供的严格模式可以很好的帮助用户减少那些意想不到的不好的影响。可以通过set hive.mapred.mode=strict;来开启严格模式。严格模式分为以下的三种:
(1)对于分区表,在where字句中必须包含分区字段的过滤条件,否则就不允许执行。也就是说,用户不可以扫描所有的分区。因为分区表通常都会含有很大的数据集,并且增加迅速,不进行过滤会加载很多的数据造成I/O瓶颈。
(2)对于使用order by 语句的查询,必须使用limit语句来限制。因为order by会把所有的数据都shuffle到同一个reducer中。造成单节点压力过大。limit会限制数据的大小,仅仅对limit的数据进行排序。
(3)限制笛卡尔积的查询。在传统的关系型数据库中,AB两个表的链接用where语句来进行filter,然后会把where转化成为高效的on关键字进行链接,但是hive并不存在这种优化,当数据表足够大的时候,就会出现不可控的情况。所以不能使用where关键字,只能使用on关键字。
0 0
- hive入门学习:hive的调优(二)
- Hive入门学习之二:Hive 的部署
- hive学习(二)
- hive学习教程(二):hive的数据类型和hive的数据模型
- Hive学习笔记(二)
- hive学习 —hive性能调优
- Hive入门学习之一:Hive的简述与架构
- Hive入门学习之三:Hive客户端的连接
- hive入门学习:浅谈hive的常见优化策略
- hive学习入门
- hive 学习笔记(二)---hive表操作
- Hive学习二
- Hive 学习笔记 (二)
- Hive-4.hive 的 性能调优
- Hive学习笔记1--------Hive入门
- hive入门学习:数据倾斜的解决方案
- Hive的调优
- hive的简单入门
- java JDK1.6 API中文帮助文档、机器学习资料网址、SQL语句学习资料J
- rem,em,px的区别
- leetcode 19. Remove Nth Node From End of List
- 求含有n个元素的集合的幂集
- 详细解读Python中的__init__()方法
- hive入门学习:hive的调优(二)
- java.io.NotSerializableException错误解决方法
- Linux设备驱动模型SPI之二
- 使用StringBuffer来判断一个数字是否为回文数
- 优雅的linq润滑在复杂的业务环境中(上)
- java面试题1
- HDU 2069 Coin Change (暴力)
- Java基础知识 -- 多线程
- PHP文件上传实例