直接使用MapReduce所面临的问题:mysql
为何要使用Hive:web
优势:sql
可扩展性、横向扩展:Hive能够自由的扩展集群的规模,通常状况下不须要重启服务。shell
延展性:数据库
良好的容错性服务器
缺点:架构
Hive不支持事务编辑器
对比项 | Hive | RDBMS |
---|---|---|
查询语言 | HQL | SQL |
数据存储 | HDFS | Raw Device or Local FS |
执行器 | MapReduce | Executor |
数据插入 | 支持批量导入/单条插入 | 支持批量导入/单条插入 |
处理数据规模 | 大 | 小 |
执行延迟 | 高 | 低 |
分区 | 支持 | 支持 |
索引 | 0.8版本以后加入简单索引 | 支持复杂的索引 |
扩展性 | 高(好) | 有限(查) |
数据加载模式 | 读时模式(快) | 写时模式(慢) |
应用场景 | 海量数据查询 | 实时查询 |
总结:函数
Hive具备SQL数据库的外表,但应用场景彻底不一样,Hive只适合用来作海量离线数据统计分析,也就是数据仓库。工具
CLI,Shell终端命令行(Command Line Interface),采用交互形式使用hive命令与Hive进行交互,最经常使用(学习,调试,生产)
元数据:通俗的讲,就是存储在Hive中的数据的描述信息。