- Hive是一个SQL解析引擎,将SQL语句转译成MapReduce Job Hive SQL编译过程
- Hive中的表是纯逻辑表,只是表的定义,即表的元数据。本质就是Hadoop的目录/文件,达到了元数据与数据存储分离的目的
- Hive本身不存储数据,它完全依赖HDFS和MapReduce
Hive和MySQL(传统关系型数据库)的区别
1.查询语言不同:Hive是hql语言,MySQL是sql语句
2.数据存储位置不同:Hive是把数据存储在HDFS上,而MySQL数据是存储在本地系统
3.数据格式:Hive数据格式可以用户自定义,MySQL由系统决定
4.数据更新:Hive不支持数据更新,只可以读,而sql支持数据更新
5.索引:Hive没有索引,因此查询数据的时候是需要扫描所有数据,也造成了Hive查询数据速度很慢的原因(在0.8版本后加入位图索引),而MySQL有索引
6.延迟性:Hive延迟性高,而MySQL延迟性低
7.数据规模:Hive存储的数据量超级大,而MySQL只是存储一些少量的业务数据
8.底层执行原理:Hive底层是用的MapReduce,而MySQL是excutor执行器
Hive架构
Hive的基本组成
用户接口: