一. 什么是Hive?
二. 优缺点
三. 架构原理
四. Hive与数据库的比较
基于Hadoop的数据仓库工具,可将结构化数据文件映射为一张表,并提供类SQL查询功能
用于解决海量结构化日志的数据统计
本质是将HQL转化为MapReduce程序
1. Hive处理的数据存储在HDFS
2. Hive分析数据底层的实现是MapReduce
3. 执行程序运行在Yarn上
a. 优点:
1. 类SQL语法(简单、易上手)
2. 避免写MapReduce,减少开发人员学习成本
3. Hive执行延迟较高,适用于处理大量数据和对实时性要求不高的数据
4. 可自定义函数,根据需求定义函数
b.缺点:
1. 表达能力有限 (迭代式算法无法表达、数据挖掘方面不擅长)
2. 效率较低(不够智能化、调优较困难)
hive采用了类似SQL的查询语言 Hive QL (Hive Query Language), 因此容易将HIve理解为数据库
但除查询语言外,再无类似之处。
| 对比项 | Hive | MySQL |
|---|---|---|
| 查询语言 | Hive QL | SQL |
| 数据存储位置 | HDFS | 本地 或 块设备 |
| 数据格式 | 用户定义 | 系统决定 |
| 数据更新 | 不支持 | 支持 |
| 事务 | 不支持 | 支持 |
| 执行延迟 | 高 | 低 |
| 可扩展性 | 高 | 低 |
| 数据规模 | 大 | 小 |



