第一章 Hive介绍
1.1hive概述
1.1.1 hive的简介
HIve是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQK查询功能。其本质是将SQL转换为MapReduce/Spark的任务进行运算,底层由HDFS来提供数据的存储,说白了,hive可以理解为一个将SQL转换为MapReduce/spark任务的工具。
1.1.2 HIve的特点:
-
可扩展性: Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
-
延展性:Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
-
容错性:良好的容错性,节点出现问题,SQL仍可以完成执行。
1.2 hive架构
用户接口:包括CLI,JDBC/ODBC,WebGui
元数据存储:通常是存在关系数据块例如mysql/derby中。Hive将元数据存储在数据库中。Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表),表的数据所在目录等。
解释器,编辑器,优化器,执行器:完成HIve查询语句从词法分析,语法分析,编译,优化以及查询计划的生成,生成的查询计划存储在HDFS中,并在随后被MapReduce调用执行。