Hive是一个构建在Hadoop之上的数据仓库,提供类似sql的查询语句HiveQL对数据进行分析处理。Hive将HiveQL语句转换一系列成MapReduce作业并执行。目前,Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两中分布式计算引擎。图1.1为Hive的体系结构。
图1.1Hive体系结构
由图可以看出,Hive系统由用户接口层、HiveServer层、元数据管理、HiveQL解析器以及执行引擎构成。
1.1、用户接口层
用户接口层包含了用户使用Hive的所有方式,包括命令行方式(CLI和Beeline),JDBC方式以及ODBC方式等。下面分别进行介绍:
1)CLI
CLI(Command Line Interface)是hive的命令行接口,提供了用户通过命令行的方式使用hive。执行${HIVE_HOME}/bin/hive即可进入Hive的命令行交互模式。CLI支持HiveQL语句、函数创建、设置属性等操作。使用CLI不需要其他额外的服务(Hadoop等分布式系统需要提前启动),另外,同一时刻只能