• 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接口

  • 相关阅读:
    Flash向量1点和向量
    Flash/Flex学习笔记(2):捕获摄像头
    Flash向量0序言
    Flash向量3加法和投影
    Flash/Flex学习笔记(3):动态添加组件
    Flash/Flex学习笔记(5):捕获摄像头(续)在线抓屏并保存到客户端本地
    异常写法
    关于存储过程得传出参数的错误
    python Beautiful Soup模块的安装
    python学习笔记比较全
  • 原文地址:https://www.cnblogs.com/lyr999736/p/9467854.html
Copyright © 2020-2023  润新知