MAPREDUCE服务 MRS-Hive基本原理:Hive结构
Hive结构
Hive为单实例的服务进程,提供服务的原理是将HQL编译解析成相应的MapReduce或者HDFS任务,图1为Hive的结构概图。
名称 |
说明 |
---|---|
HiveServer |
一个集群内可部署多个HiveServer,负荷分担。对外提供Hive数据库服务,将用户提交的HQL语句进行编译,解析成对应的Yarn任务或者HDFS操作,从而完成数据的提取、转换、分析。 |
MetaStore |
|
WebHCat |
一个集群内可部署多个WebHCat,负荷分担。提供Rest接口,通过Rest执行Hive命令,提交MapReduce任务。 |
Hive客户端 |
包括人机交互命令行Beeline、提供给JDBC应用的JDBC驱动、提供给Python应用的Python驱动、提供给MapReduce的HCatalog相关JAR包。 |
ZooKeeper集群 |
ZooKeeper作为临时节点记录各HiveServer实例的IP地址列表,客户端驱动连接ZooKeeper获取该列表,并根据路由机制选取对应的HiveServer实例。 |
HDFS/HBase集群 |
Hive表数据存储在HDFS集群中。 |
MapReduce/Yarn集群 |
提供分布式计算服务:Hive的大部分数据操作依赖MapReduce,HiveServer的主要功能是将HQL语句转换成MapReduce任务,从而完成对海量数据的处理。 |
HCatalog建立在Hive Metastore之上,具有Hive的DDL能力。从另外一种意义上说,HCatalog还是Hadoop的表和存储管理层,它使用户能够通过使用不同的数据处理工具(比如MapReduce),更轻松地在网格上读写HDFS上的数据,HCatalog还能为这些数据处理工具提供读写接口,并使用Hive的命令行接口发布数据定义和元数据探索命令。此外,经过封装这些命令,WebHCat Server还对外提供了RESTful接口,如图2所示。
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是Kafka_如何使用Kafka
- Hudi服务_什么是Hudi_如何使用Hudi
- MapReduce服务_什么是Hue_如何使用Hue
- MapReduce服务_什么是MapReduce服务_什么是HBase
- MapReduce服务_什么是Loader_如何使用Loader
- MapReduce服务_什么是HetuEngine_如何使用HetuEngine
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- MRS备份恢复_MapReduce备份_数据备份
- 什么是Spark_如何使用Spark_Spark的功能是什么