一、什么是Hive
Hive是建立在Hadoop上的数据仓库基础架构。它定义了简单的类SQL查询语句,称为HQL,HQL语言也支持用户自定义SQL函数,通过MR任务来处理复杂的分析任务。
- Hive中包含SQL解析引擎,它会将SQL语句转换成MR job在Hadoop中执行
- Hive中的数据表在HDFS中的体现是文件
- Hive数据存储是基于Hadoop的HDFS的,Hive默认直接加载文本文件(TextFile),还支持SequenceFile,RCFile等
二、Hive系统架构
从左往右看图:
1、用户接口
包含CLI,Hive Server,Hive Web。Cli即Shell命令行,表示我们可以通过shell命令执行操作Hive,Hive Server 一般通过JDBC/ODBC操作,数据java的操作方式,Hive Web一般使用最多的事HUE,HUE直接提供窗口界面访问,操作。
2、Driver
包含编译器、优化器、执行器;Driver可以完成Hive的查询语句从语法分析、编译、优化以及查询计划的生成。生成的查询计划最终会存储在HDFS中,并随后通过MapReduce调用执行。
3、Hadoop