Hive数据库:功能特性与操作指南
1. Hive概述
Hive并非传统意义上的数据库,它具有极高的灵活性。与关系型数据库需在摄入数据前定义表结构并仅接收符合该规范的数据不同,Hive可根据已有的数据来定义模式,而非基于可能错误的假设。尽管可变的数据格式无论采用何种技术处理都较为棘手,但Hive模型在处理此类问题时提供了更大的自由度。
2. Hive架构
在Hive 2版本之前,Hadoop主要是一个批处理系统。MapReduce作业通常具有较高的延迟和开销,Hive内部将HiveQL语句编译成MapReduce作业,因此传统的Hive查询也存在高延迟问题。不过,随着Stinger计划以及Hive 0.13版本的改进,这一情况得到了改善。
Hive作为客户端应用程序运行,它处理HiveQL查询,将其转换为MapReduce作业,并将这些作业提交到Hadoop集群。在Hadoop 1中提交到原生MapReduce,在Hadoop 2中提交到运行在YARN上的MapReduce应用程序主节点。
Hive使用一个名为元数据存储(metastore)的组件来存储系统中定义的所有表的元数据,而这些元数据实际上存储在一个专门为Hive使用的关系型数据库中。早期版本的Hive中,所有客户端直接与元数据存储通信,但这要求每个使用Hive CLI工具的用户都知道元数据存储的用户名和密码。
为了解决这个问题,HiveServer应运而生,它作为远程客户端的入口点,同时也作为单一的访问控制点,控制对底层元数据存储的所有访问。不过,由于HiveServer存在一些限制,现在访问Hive的最新方式是通过多客户端的HiveServer2。HiveServe
超级会员免费看
订阅专栏 解锁全文
772

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



