Hive概述

Hive概述

  • 数据仓库
    • OLTP
    • OLAP
    • 数据仓库设计
    • 数据仓库流程
  • Hive简介
    • Hive的诞生
    • Hive的功能
      • 将HDFS文件映射成表数据
      • 将SQL转换为程序并执行
    • Hive的应用场景
  • Hive的架构
    • Hive客户端
    • Hive服务端
      • SQL解析器Parser
      • 编译器Plan
      • 优化器Optimizer
      • 执行器Execution
    • Hive元数据

数据仓库

OLTP

联机事务处理,用于满足业务上的数据存储。
数据量小,支持事务(需要满足ACID),效率高,延迟性比较低。这种模型就是数据库。数据库工具可以实现这种存储模型,常用MySQL、Oracle。

OLAP

联机分析处理,专门用于解决数据处理的数据存储的平台。
数据类大,不需要支持事务,时间的要求不高(离线的OLAP一般要求的时效性是T+1)。这种模型就是数据仓库。数据仓库工具可以实现这种模型,常用Hive、GreenPlum。

数据仓库设计

数据仓库是更加规范化统一化的数据管理的设计模型,用于实现数据加工处理的平台,实现数据的应用

可以把数据仓库看作是一个数据的超市:所有数据按照分类进行存放,在数据仓库中对数据进行加工。类似笔者家里的群晖DS218J,所有数据进行集中存储。

数据仓库流程

ETL:数据清洗,将各种各样的数据按照规则进行过滤,补全、转换。

分层:数据从进入数据仓库到最后被应用,数据经过处理的步骤。

建模:表应该怎么建,表的设计。

Hive简介

Hive官网

Hive的诞生

源于FaceBook,用Hadoop实现大数据分析时遇到了这种问题:
分析的需求只有业务人员才知道怎么分析,但是他们不会写Java,顶多会SQL。分析的程序只有开发人员才知道怎么开发,但是他们不会写分析报表。FaceBook就让开发人员写了一个工具,将SQL语句转换为MapReduce程序。

Hive的功能

将HDFS文件映射成表数据

可以用来构建数据仓库,实现分布式的数据存储。

将SQL转换为程序并执行

将SQL转换为MapReduce/Tez/Spark的程序,提交给YARN执行。

但是MapReduce性能极差,一般要使用分布式SQL引擎Presto、Impala、SparkSQL等更先进的工具。

Hive的应用场景

作为数据仓库工具,实现数据仓库的构建。
分布式SQL计算查询。

Hive的架构

Hive客户端

连接用户与服务端。提供SQL开发界面,允许用户开发SQL,将用户开发的SQL提交给Hive的服务端。最后将服务端执行的结果返回给用户。

Hive服务端

接受客户端的请求。

SQL解析器Parser

解析用户提交的SQL语句,将SQL转换为分布式计算或者分布式存储的程序提交给Hadoop运行。

编译器Plan

将SQL生成执行计划。

优化器Optimizer

选择最优的方案来实现。

执行器Execution

执行对应的处理操作。

Hive元数据

存储整个Hive中所有核心的数据(Hive中所有数据库、表的信息),记录了HDFS文件与Hive表的映射关系。

Hive部署这篇及后续章节将继续阐述Hive。

你可能感兴趣的:(云计算大数据,笔记,数据仓库,分布式,大数据,hive,hadoop)