Hive基础篇

作者: BitGuo | 来源:发表于2019-11-05 14:25 被阅读0次

Hadoop生态系统
底层是HDFS存储系统,在此之上是HBase和MapReduce,再往上是Pig和Hive。
Pig适用于流处理,应用场景为ETL工具。Hive是适用于批处理,应用场景一般为BI报表。
Hive借助HDFS来完成存储数据,Hive将sql语句转化为Mapreduce作业,借助Mapreduce完成对数据的操作。

Hive基础架构

Hive包含三个重要模块

  • 用户接口模块 (对外访问接口)

    • CLI 命令行工具
    • HWI Hive的web接口
    • JDBC和ODBC 开放数据库连接接口
    • Thrift Server,thrift架构开发的接口,允许外界通过这个接口实现对Hive仓库的RPC调用
  • 驱动模块 (包含编译器,优化器,执行器)

  • 元数据存储模块 Metastore
    是一个独立的关系型数据库,通过MySql数据库来存储Hive元数据。

Hive HA的基本原理

高可用性
HAProxy ,用户访问的时候先通过HAProxy来访问Hive,对外来讲表现为一个统一的Hive,但是内部具有多个Hive实例。HAProxy会依次去询问底层的Hive是否可用,依次执行逻辑可用性测试判断是否可用。对不能通过逻辑可用性测试的Hive,HAProxy会将其加入黑名单。每隔一段时间会对黑名单中的Hive重新进行逻辑可用性测试,移除通过测试的Hive。

SQL转化为MapReduce作业的原理

Hive中将SQL转化为MapReduce的流程

驱动模块接受命令或查询编译器,对该命令进行解析编译,该命令或查询通过执行器进行执行,由优化器对该命令或查询进行优化计算。

输入 ——>1.Parser ——>2.Semantic Analyzer ——>3.Logical Plan Generator ——>4.Logical Optimizer ——>5.Physical Plan Generator ——>6.Physical Optimizer

1.Pareser:由Hive驱动模块的编译器将用户的SQL进行词法语法解析,转化为抽象的语法树。
2.Semantic Analyzer :把复杂抽象语法书转化为查询块
3.Logical Plan Generator:把查询块转化为逻辑查询计划,里面包含了许多逻辑操作符。
4.Logical Optimizer :重写逻辑查询计划,进行优化合并多余操作,减少MapReduce任务数量
5.Physical Plan Generator :将逻辑操作符转化为需要执行的具体的MapReduce任务
6.Physical Optimizer:对生成的MapReduce任务进行优化生成最终的MapReduce任务执行计划。

Hive本身不生成MapReduce程序,需要通过一个“Job执行计划”的XML文件驱动执行内置的原生的Mapper和Reducer模块。

相关文章

  • Hive基础篇

    Hadoop生态系统底层是HDFS存储系统,在此之上是HBase和MapReduce,再往上是Pig和Hive。P...

  • Hive 基础

    Hive 基础 Hive启动: 插入数据: 插入数据文件: Hive交互命令: 参数配置方式: hive> set...

  • Hive编程指南笔记整理

    hive编程指南阅读笔记 1.基础操作 1.1.启动hive HIVE_HOME$ bin/hive 1.2.1....

  • Hive框架基础(二)

    * Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内...

  • hive相关基础

    hive相关基础 1、进入到hive命令下;(linux下直接输入hive即可) hive 2、查看工作分区下的h...

  • Hive 基础搭建教程

    需要安装Hadoop,教程:Hadoop 基础搭建教程 需要了解Hive基本概念:Hive 基础知识 1. 相关依...

  • Hive常用命令

    hive官网:http://hive.apache.org/ 基础内容学习: https://cwiki.apac...

  • 无标题文章

    Hive 学习笔记 学习笔记 Hive 简介 Hive 是建立在 Hadoop 上的数据仓库基础构架,可以用来进行...

  • Hive架构及搭建方式

    Hive架构及搭建方式 [TOC] 前言 本文档基于hive 3.1.2编写 hive的基础知识 基本架构 整个h...

  • 2017年10月24日

    大数据系统基础 4.7-4.14《Hive编程指南》第1章《Hive编程指南》第2章《Hive编程指南》第3章

网友评论

    本文标题:Hive基础篇

    本文链接:https://www.haomeiwen.com/subject/hacsbctx.html