- 什么是HIVE
- Hive 和 Hadoop 关系
- 理解
- 架构
- 数据及部署方式
- 元数据
- 部署方式
- HIVE 安装
HIve
什么是HIVE
Apache Hive 是一款建立在Hadoop 上的开源数据仓库系统
将储存在Hadoop中的文件结构化、半结构化的数据文件映射为一张数据库表,基于此提供了类似于SQL的查询模型,
称为Hive查询语言(HQL),
用于访问和分析存储在Hadoop文件中的大型数据集
Hive的核心是将HQL转换为MapReduce程序,然后将程序提交到Hadoop集群执行
Hive是Facebook实现并开源的
依靠Hadoop,因此,擅长存储分析海量数据集
Apache Hive作为一款大数据时代的数据仓库软件,具备存储数据和分析数据的能力。
但是,Hive并不是自己实现了上述两种能力,而是借助Hadoop。
Hive利用HDFS存储数据,利用MapReduce查询分析数据。
Hive的最大魅力在于:让用户专注于HQL的编写,Hive帮助转换为mapreduce程序完成数据的分析
学习成本低,易上手
-
Hive 能将数据文件映射成为一张表,这个映射是指 文件和表之间的对应关系
-
Hive 本身负责将 SQL 语法解析编译味MapReduce
-
用户接口
包括CLI、JDBC/ODBC、WebGUI。
其中,CLl(command line interface)为shell命令行;Hive中的Thrift服务器允许外部客户端通过网络与Hive进行交互,类似于JDBC或ODBC协议。WebGUI是通过浏览器访问Hive。 -
元数据(metastore)
通常是存储在关系数据库如mysql/derby中。
Hive 中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等。
默认存储在自带的Derby中,推荐用Mysql 存储 -
Driver驱动程序
包括语法解析器、计划编译器、优化器、执行器
完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。
生成的查询计划存储在HDFS中,并在随后有执行引擎调用执行。 -
执行引擎
Hive本身并不直接处理数据文件。
而是通过执行引擎处理。当下Hive支持MapReduce、Tez、Spark3种执行引擎。
- metastore即元数据服务
作用是管理metadata元数据,对外暴露服务地址,让各种客户端通过连接metastore服务,由metastore再去连接MySQL数据库来存取元数据。
有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道MySQL数据库的用户名和密码,只需要连接metastore服务即可。某种程度上也保证了Hive元数据的安全。
有三种:内嵌模式、本地模式、远程模式。
- 区分3种配置方式的关键是弄清楚两个问题:
metastore 服务是否需要单独配置、单独启动?
metadata 是存储在内置的derby中,还是第三方RDBMS,比如MySQL
推荐使用远程模式
在生产环境中,建议用远程模式来配置Hive metastore。
在这种情况下,其他依赖hive的软件都可以通过metastore访问hive。
由此还可以完全屏蔽数据库层,因此这也带来了更好的可管理性/安全性。
Hive 提供了两个客户端,如上图所示,hive客户端和beeline客户端
官方推荐使用新客户端beeline,因此需要启动两个服务
metastore服务和HiveServer2服务,两者有依赖关系,必须先启动前者
HIVE 安装点这里
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)