#Hadoop# #大数据# #Hive# #数据仓库# #HDFS#
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。操作接口采用类SQL语法,提供快速开发的能力。避免了去写MapReduce,减少开发人员的学习成本。
用户接口主要由三个:CLI、JDBC/ODBC和WebGUI。其中,CLI为shell命令行;JDBC/ODBC是Hive的JAVA实现,与传统数据库JDBC类似;WebGUI是通过浏览器访问Hive。
元数据存储:Hive 将元数据存储在数据库中,通常是存储在关系数据库如 mysql , derby。Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
解释器、编译器、优化器完成 HQL 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。生成的查询计划存储在 HDFS 中,并在随后有 MapReduce 调用执行。
扩展功能很方便。
![fee17bffeb84cb748d8781e8b1119986.png](https://img-blog.csdnimg.cn/img_convert/fee17bffeb84cb748d8781e8b1119986.png)
Hive利用HDFS存储数据,利用MapReduce查询数据。执行延迟较RDBMS高,处理规模较RDMS大,适合用来做批量数据统计分析。