hive入门及简介

hive入门及简介

1、hive是什么?

Hive是建立在Hadoop (HDFS/MR)上的用于管理和查询结构化/非结构化的数据仓库;

2、hive组成?

hive入门及简介_第1张图片

Hive主要由以下三个模块组成

  • 用户接口模块,含CLI、HWI、JDBC、Thrift Server等,用来实现对Hive的访问。CLI是Hive自带的命令行界面;HWI是Hive的一个简单网页界面;JDBC、ODBC以及Thrift Server可向用户提供进行编程的接口,其中Thrift Server是基于Thrift软件框架开发的,提供Hive的RPC通信接口。
  • 驱动模块(Driver),含编译器、优化器、执行器等,负责把HiveQL语句转换成一系列MR作业,所有命令和查询都会进入驱动模块,通过该模块的解析编译,对计算过程进行优化,然后按照指定的步骤执行。
  • 元数据存储模块(Metastore),是一个独立的关系型数据库,通常与MySQL数据库连接后创建的一个MySQL实例,也可以是Hive自带的Derby数据库实例。此模块主要保存表模式和其他系统元数据,如表的名称、表的列及其属性、表的分区及其属性、表的属性、表中数据所在位置信息等。

3、为什么选择hive?

选择Hive的核心原因是它是运行在Hadoop上的SQL接口。此外,它还降低了MapReduce框架的复杂性。Hive帮助企业在HDFS上执行大规模数据分析,使其成为一个水平可伸缩的数据库。它的SQL接口HiveQL使具有RDBMS背景的开发人员能够构建和开发性能、使拓展的数据仓库类型框架。

4、把sql转为MapReduce作业流程

当Hive接收到一条HQL语句后,需要与Hadoop交互工作来完成该操作。HQL首先进入驱动模块,由驱动模块中的编译器解析编译,并由优化器对该操作进行优化计算,然后交给执行器去执行。执行器通常启动一个或多个MR任务,有时也不启动(如SELECT * FROM tb1,全表扫描,不存在投影和选择操作)。

hive入门及简介_第2张图片

你可能感兴趣的:(Hive,hive)