前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive架构和原理(图形化通俗易懂)

Hive架构和原理(图形化通俗易懂)

作者头像
lovelife110
发布2022-06-16 18:33:01
4940
发布2022-06-16 18:33:01
举报
文章被收录于专栏:爱生活爱编程爱生活爱编程

文章目录

组件模块说明

Hive:以下内容为V3.1版本 ; Hive是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类 SQL 查询功能。Hive 处理的数据存储在 HDFS,分析数据底层的实现是 MapReduce,可以简单理解Hive是Hadoop的客户端,提交sql做分析。

MapReduce :MapReduce 是一个分布式运算程序的编程框架,核心功能是将用户编写的业务逻辑代码和MapReduce自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。

Yarn:为一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而 MapReduce 等运算程序则相当于运行于操作系统之上的应用程序。

Hive原理

在这里插入图片描述
在这里插入图片描述

Hive会提前将SQL语言中常用的操作(select,where,group等)用MapReduce写成很多模板。将模板封装在Hive中。

简单说就是Hive把client输入的SQL转换为Mapreduce,运行在 Yarn 上。

Hive 架构

在这里插入图片描述
在这里插入图片描述

用户接口: Client

CLI(command-line interface)命令行方式、 JDBC/ODBC(jdbc 访问 hive)、 WEBUI(浏览器访问 hive)

元数据: Metastore

元数据包括:表名、表所属的数据库(默认是 default)、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等;其实主要作用就是Hive的表和HDFS的路径做映射。

默认存储在自带的 derby 数据库中,推荐使用 MySQL 存储Metastore。

驱动器: Driver

  1. 解析器(SQL Parser):将 SQL 字符串转换成抽象语法树 AST,这一步一般都用第三方工具库完成,比如 antlr;对 AST 进行语法分析,比如表是否存在、字段是否存在、 SQL语义是否有误。
  2. 编译器(Physical Plan):将 AST 编译生成逻辑执行计划。
  3. 优化器(Query Optimizer):对逻辑执行计划进行优化。
  4. 执行器(Execution):把逻辑执行计划转换成可以运行的物理计划。对于 Hive 来说, 就是 MR/Spark。

Hive运行机制

在这里插入图片描述
在这里插入图片描述

建表,通过映射关系(表和HDFS路径)向表中导数据。

查询,通过表名从Metastore中(记录 MetaStore着表对应文件的path)得到HDFS文件的路径查询对应的数据。

Hive 通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的 Driver,结合元数据(MetaStore),将这些指令翻译(经过解析器、编译器、优化器)成 MapReduce,提交到 Hadoop 中执行,最后,将执行返回的结果输出到用户交互接口。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 组件模块说明
  • Hive原理
  • Hive 架构
    • 用户接口: Client
      • 元数据: Metastore
        • 驱动器: Driver
        • Hive运行机制
        相关产品与服务
        大数据
        全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档