Apache Hive基础
Hive简介
Hive概念
- 1、基于Hadoop的数据仓库解决方案
将结构化的数据文件映射为数据库表
提供类sql的查询语言HQL(Hive Query Language)
Hive让更多的人使用Hadoop - 2、Hive成为Apache顶级项目
Hive始于2007年的Facebook
官网:hive.apache.org
Hive的优势和特点
- 1、提供了一个简单的优化模型
- 2、HQL类SQL语法,简化MR开发
- 3、支持在不同的计算框架上运行
- 4、支持在HDFS和HBase上临时查询数据
- 5、支持用户自定义函数、格式
- 6、成熟的JDBC和ODBC驱动程序,用于ETL和BI
- 7、稳定可靠(真实生产环境)的批处理
- 8、有庞大活跃的社区
Hive元数据管理
- 1、记录数据仓库中模型的定义、各层级间的映射关系
- 2、存储在关系数据库中
-
- 2.1 默认Derby, 轻量级内嵌SQL数据库
Derby非常适合测试和演示
存储在.metastore_db目录中
- 2.1 默认Derby, 轻量级内嵌SQL数据库
-
- 2.2 实际生产一般存储在MySQL中
修改配置文件hive-site.xml
- 2.2 实际生产一般存储在MySQL中
- 3、HCatalog
将Hive元数据共享给其他应用程序
Hive体系架构
Hive命令
命令窗口模式(Hive Interface)
- 1、有两种工具:Beeline和Hive命令行(CLI)
hiveserver和beeline(hiveserver2)的区别:
hiveserver 1代,不需要启动服务再访问
beeline 2代,需要先启动服务端,再访问客户端
beeline整体查询效率比hive高,beeline不支持update和delete - 2、有两种模式:命令行模式和交互模式
-
- 2.1 命令行模式
- 2.1 命令行模式
-
- 2.2 交互模式
- 2.2 交互模式
Hive数据类型
原始类型
类似于SQL数据类型
复杂数据类型
- ARRAY:存储的数据为相同类型
- MAP:具有相同类型的键值对
- STRUCT:封装了一组字段