Hive的架构和工作流程

架构

  1.hive是数据仓库,在hadoop基础上处理结构化数据;它驻留在hadoop之上,用户对数据的统计,查询和简单的分析操作。

  2.hive不是

    a.关系型数据库

    b.OLTP

    c.实时查询和行级更新操作

  3.hive特点

    a.表模型存储在database(关系型)中,处理的数据存储在HDFS上;

    b.设计模式遵循OLAP

    c.它提供了一套类SQL的语言(HiveQL or HQL),用于执行查询

    d.它是简单的,快速的,可扩展的和易伸缩的

  4.hive架构

    a.(用户接口)User Interface:hive提供Web UI 、command line和HD Insight;

    b.(元数据):hive选择独立的的数据库(MySQL)用于存储metadata,元数据包含:表的信息、databases信息、表的列信息、字段类型信息和HDFS mapping(映射);

     c.(HQL处理引擎)HiveQL Process Engine:HiveQL类似于SQL,用于查询转移的模式信息。它是对MapReduce程序的传统方法的替换之一

     d.(执行引擎)Execution Engine:HiveQL流程引擎和MapReduce的连接部分是Hive执行引擎。执行引擎处理查询并生成与MapReduce结果相同的结果

     e.(HDFS or HBASE):Hadoop分布式文件系统或HBASE是将数据存储到文件系统中的数据存储技术。

工作流程

  1.(执行查询操作)Execute Query

    命令行或Web UI之类的Hive接口将查询发送给Driver(任何数据库驱动程序,如JDBC,ODBC等)以执行。

  2.(获取计划任务)Get plan

    Driver借助查询编译器解析查询,检查语法和查询计划或查询需求。

  3.(获取元数据信息)Get Metadata

    编译器将元数据请求发送到Metastore(任何数据库)。

  4.(发送元数据)

    MetaStore将元数据作为对编译器的响应发送出去。

  5.(发送计划任务)Send Plan

    编译器检查需求并将计划重新发送给Driver。到目前为止,查询的解析和编译已经完成。

  6.(执行计划任务)Execute Plan

    Driver将执行计划发送到执行引擎。

  7.(执行Job任务)Execute Job

    在内部,执行任务的过程是MapReduce Job。执行引擎将Job发送到ResourceManager,

     ResourceManager位于Name节点中,并将job分配给datanode中的NodeManager。在这里,查询执行MapReduce任务.

     7.1.(元数据操作)Metadata Ops
在执行的同时,执行引擎可以使用Metastore执行元数据操作。

   8.(拉取结果集)Fetch Result
执行引擎将从datanode上获取结果集;

   9.(发送结果集至driver)Send Results
执行引擎将这些结果值发送给Driver。

   10.(driver将result发送至interface)Send Results
Driver将结果发送到Hive接口

原文地址:https://www.cnblogs.com/lyr999736/p/9467854.html

时间: 2024-11-06 07:30:24

Hive的架构和工作流程的相关文章

Nginx的架构及工作流程

NGINX是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器.NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名,也是为解决C10K问题而编写的服务器之一.本文主要介绍Nginx的架构及工作流程. 一.Nginx的架构如下图 1.nginx启动后会有一个master进程和多个worker进程(woeker进程数量可配置,一般设置与机器的核心数一致),master进程负责管理worker进程(接收外界信号,发送信号到各worker进程

docker架构及工作流程

一.概念docker是开源容器引擎,基于cgroup,namespace,unionFS等技术实现,对应用进行封装的虚拟化技术 什么是cgroup? 对系统资源限制,创建容器的过程其实就是在创建进程,对资源的分配和维护使用cgroup来管理,包括cpu,内存,io等? 什么是namespace? 创建容器时,对容器来说就是一个全新的系统,容器内的文件系统要和宿主机文件系统隔离,网络空间隔离,用户权限隔离,这些隔离操作都是有namespace 来管理完成的 什么是unionFS? 联合文件系统,简

详解Hive的架构、工作原理及安装步骤

一.Hive是什么? Hive 是基于 Hadoop 构建的一套数据仓库分析系统,它提供了丰富的 SQL 查询方式来分析存储在 Hadoop 分布式文件系统中的数据, 可以将结构化的数据文件映射为一张数据库表,并提供完整的 SQL 查询功能,可以将 SQL 语句转换为 MapReduce 任务进行运行,通过自己的 SQL 去 查询分析需要的内容,这套 SQL 简称 Hive SQL. 二.理解Hive 架构 Hive 架构可以分为四部分. 用户接口 Hive 对外提供了三种服务模式,即 Hive

2.nginx架构及工作流程

nginx是模块化设计: 模块大致可以分为: 1.核心模块(core) 2.基础模块(http,mail) 3.第三方模块(upstream,proxy,fastcgi) 功能:1.核心模块为nginx作为webserver,web or mail proxy提供一个大的基础 2.基础模块是核心模块与扩展模块的抽象衔接,同时完成某协议的功能 3.第三方模块,在对应基础模块的基础上,完成特定功能 nginx架构: nginx对于一个http请求的处理流程: 1.tcp/ip连接建立 2.woerk

【嵌入式开发】 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计)

作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boot 源码 : http://download.csdn.net/detail/han1202012/8342761 -- S3C2440 文档 : http://download.csdn.net/detail/han1202012/8342701 -- S5PV210_iROM_Applicati

ansible架构原理及工作流程

一.ansible介绍 ansible是一种自动化运维工具,基于paramiko模块开发,用于批量执行任务和发布工作,被广泛用于日常运维工作当中. 二.ansible架构架构图: ansible核心模块介绍:core models: ansible自带的模块,file,shell,copy等custom models: ansible自带模块不足以满足工作需要时,用户添加扩展模块host inventory: 由ansible 管理的主机,包括主机名,ip,端口等playbook: yaml格式

Citrix PVS架构和工作原理

Citrix PVS产品一直在Citrix的产品体系中存在着重要的位置,在中大型的VDI环境中,绝大部分都是基于PVS架构部署的,足以证明PVS架构的稳定.高效和便捷. 本文从底层架构和原理的角度分析了Citrix PVS组件,使得我们能够得窥PVS架构稳定.高效和便捷的背后,支撑的机制到底是什么? 一.Citrix PVS简介 Citrix Provisioning Services组件简称Citrix PVS,是通过创建一个标准的虚拟机镜像,该镜像就如同一个虚拟磁盘一样,里面包含了虚拟机的配

RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍

RDIFramework.NET ━ .NET快速信息化系统开发框架 工作流程组件介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案. 1.RDIFramework.NET框架介绍 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员只须集中精力专注于业

Struts 2的架构和运行流程

之前看书,笔记都是记录在云笔记上(因为实在太水,不好意思写blog).现在感觉还是应该写在blog上,写得比较水,而且有一些不懂的地方也希望大家可以帮忙看看.之后再慢慢把以前的笔记整理上来.里面有什么不对的,希望大家可以帮忙指正. 最近在看<研磨Struts 2>,看完了架构和运行流程,下面写一写自己的理解. Struts 2的架构 Struts 2的架构如下图(图从官网找的): 1. 橙色是Servlet Filters,过滤链,所有的请求都要经过Filter链的处理. 2. 浅蓝色是Str