Hive是基于Hadoop的一个数据仓库工具.
基本概念
- Hive是基于Hadoop的一个数据仓库工具,
- 通过他可以实现将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,同时将sql语句转换为MapReduce任务进行运行。
- 数据仓库是面向主题的, 数据一般不会去更新的, 我们只需要对数据做一些查询操作.
- Hive是建立在Hadoop HDFS上的数据仓库基础架构.
- Hive定义了简单的类似sqlc查询语言, 称为HQL, 即允许熟悉sql的用户来查询数据.
- Hive的表就是hdfs中的目录.而Hive表中的数据就是hdfs中的文件.
Hive体系结构
Hive中元数据
Hive将元数据存储在数据库中(metastore),支持mysql, derby等数据库.
Hive中元数据包括表的名字, 表的列和分区及其属性, 表的属性, 表的数据所在目录等.
HQL的执行过程
解释器, 编译器, 优化器完成了HQL查询语句从词法分析 语法分析 编译 优化 以及查询计划的生成. 生成的查询计划存储在hdfs中, 并在随后有mapreduce调用执行.
Hive的安装
1 | hive 1.2.2 |
Hive的管理
Hive的启动方式
CLI(命令行方式)
1 | 1. 直接输入hive进入hive命令行模式, 也可以 hive --service cli |
Web界面方式
1 | 命令行中输入: hive --service hwi |
远程服务启动方式
1 | 启动远程服务: 端口是10000 |