Hive概述

Posted 杀智勇双全杀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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概述的主要内容,如果未能解决你的问题,请参考以下文章

Hive概述

03 Hive概述

03 Hive概述

9Hive数据仓库——DDLDQL概述

Hive概述及常用命令

Hive学习:Hive概述