Hive数据库:功能、操作与优化全解析
1. Hive概述
Hive并非传统意义上的数据库,与关系型数据库在数据摄入前需定义表结构并仅摄入符合规范的数据不同,Hive更为灵活。它可基于已有的数据定义表结构,而非基于可能错误的假设,在处理多变的数据格式时提供了更高的自由度。
2. Hive架构
- Hadoop在2.0版本前主要是批处理系统,MapReduce作业存在高延迟和高开销的问题。Hive将HiveQL语句编译成MapReduce作业,传统的Hive查询也具有高延迟的特点,但Stinger计划和Hive 0.13版本的改进改变了这一状况。
- Hive作为客户端应用程序运行,处理HiveQL查询,将其转换为MapReduce作业并提交到Hadoop集群。
- Hive使用元数据存储组件(metastore)来保存系统中定义的表的所有元数据,这些元数据存储在一个专门为Hive使用的关系型数据库中。
- 早期,所有客户端直接与元数据存储通信,但这要求每个Hive CLI工具的用户都知道元数据存储的用户名和密码。为解决这一问题,HiveServer应运而生,作为远程客户端的入口点和访问控制单点。目前,多客户端的HiveServer2是访问Hive的最新方式,它在用户认证和支持同一客户端的多个连接等方面进行了改进。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(Hive客户端):::proces
超级会员免费看
订阅专栏 解锁全文
893

被折叠的 条评论
为什么被折叠?



