Hive 学习

 

 

一、hive 特性

 

1、hive 是基于Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的 sql 查询功能,可以将 sql 语句转换为 MapReduce 任务进行运行。其优点是学习成本低,可以通过类 SQL 语句快速实现简单的 MapReduce 统计,不必开发专门的MapReduce 应用,十分适合数据仓库的统计分析。

 

2、Hive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。 Hive 定义了简单的类 SQL 查询语言,成为HQL ,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂分析工作。

 

二、hive和关系数据库的区别

 

1、hive 和关系数据库存储文件的系统不同,hive 使用的是 hadoop 的HDFS (hadoop 的分布式文件系统),关系数据库则是服务器本地的文件系统。

 

2、hive 使用的计算模型是mapreduce ,关系型数据则是自己设计的计算模型。

 

3、关系数据库是为实时查询的业务进行设计的,而 hive 则是为海量数据做数据挖掘设计的,实时性很差;实时性的区别导致 hive 的应用场景和关系数据库有很大不同。

 

4、hive 继承 hadoop 的易扩展自己的存储能力和计算能力,关系型数据在这方面比数据库差很多。

 

三、hive

 

hadoop 和 mapreduce 是 hive 架构的根基。 Hive架构包括如下组件:CLI ( command line interface ) 、 JDBC/ODBC 、Thrift Server 、 WEB GUI 、metastore 和 Driver ( Complier  、Optimizer 和 Executor ) 。这些组件可分为两类:服务端组件和客户端组件。

 

1、服务端组件

 

(1)Driver 组件: 该组件包括 Complier 、 Optimizer 和 Executor ,它的作用是将我们写的 HiveQL (类SQL) 语句进行解析、编译优化,生成执行计划,然后调用底层的 mapreduce 计算框架。

 

(2)Merastore 组件:元数据服务组件,这个组件存储hive的元数据,hive 的元数据存储在关系数据库里,hive 支持的关系数据库有 derby 、mysql 。元数据对于 hive 十分重要,因此 hive 支持把 metastore 服务独立出来,安装到远程的服务器集群里,从而解耦 hive 服务和 metastore 服务,保证 hive 运行的健壮性。

 

hive 的 metastore 组件是 hive 元数据集中存放地。 Metastore 服务和后台数据的存储。后台数据存储的介质就是关系数据库,例如 hive 默认的嵌入式磁盘数据库 derby ,还有 mysql 数据库。Metastore 服务是建立在后台数据存储介质之上,并且可以和 hive 服务进行交互的服务组件。默认情况下,metastore 服务和 hive 服务是安装在一起的,运行在同一个进程中。也可以把 metastore 服务从 hive 服务中剥离出来, metastore 独立安装在一个集群里, hive 远程调用 metastore 服务,这样就可以把元数据这一层放到防火墙之后,客户端访问 hive 服务,就可以连接到元数据这一层,从而提供了更好的管理性和安全保障。

 

(3)Thrift 服务:thrift 是 facebook 开发的一个软件框架,它用来进行可扩展且跨语言的服务的开发, hive 集成了该服务 ,能让不同的编程语言调用 hive 的接口。

 

2、客户端组件

 

(1)GLI :command line interface ,命令行接口。

 

(2)Thrift 客户端:hive 架构的许多客户端接口是建立在 thrift 客户端之上,包括 JDBC 和 ODBC 接口。

 

(3)WEBUI :hive 客户端提供了一种通过网页的方式访问 hive 所提供的服务。这个接口对应 hive 的 hwi 组件 ( hive web interface ) ,使用前要启动 hwi 。

 

 

 

 本文转载于:http://www.cnblogs.com/sharpxiajun/archive/2013/06/02/3114180.html

 

 

posted @ 2017-10-11 14:38  遇见是种偶然  阅读(237)  评论(0编辑  收藏  举报