什么是Hive
- Hive是由FaceBook开源用于解决海量日志文件的数据结构 ; Hive是基于Hadoop的一个数据仓库工具 , 可以将结构化的数据文件映射成一张表 , 并提供了类SQL的查询功能 , 底层计算的引擎默认是Hadoop的MapReduce(本质就是将sql转换为mapreduce程序),并且可以将引擎更换为Spark / Tez
推荐学习博客 : 关于hive的那些事
Hive架构
如图所示 : Hive给我们用户提供了一系列的交互接口 , 接受用户的sql指令 , 使用自己的Driver , 再去结合元数据(Meta Store) , 将这些操作指令转换为MapReduce , 提交到Hadoop中并执行 , 最后 , 将执行结果输出到用户的交互接口 .
- 用户接口 : CLi , JDBC/ODBC , WEBUI
- 元数据 : Metastore
- Hadoop : HDFS存储 , MapReduce计算
- 驱动器 : Driver 4
Hive优点
- 操作类SQL语法 , 简单容易上手,提升快速开发能力
- 免去写MapReduce , 减少开发人员的开发时间成本
- 可以与Impala / Spark等共享元数据
- 易于扩展 , 支持自定义函数 , 自定义存储位置等