大数据之数仓及Hive介绍

本文介绍了数据仓库的基本概念、特征以及与数据库的区别,并深入探讨了Hive作为基于Hadoop的数据仓库工具,如何通过类SQL查询简化大数据分析,以及其架构和与传统数据库的比较。
摘要由CSDN通过智能技术生成


前言

#博学谷IT学习技术支持#

一、数据仓库介绍

(一) 数据仓库的基本概念

数据仓库,简称数仓,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的商业智能能力,指导业务流程改进、监视时间、成本、质量以及控制,数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向
在这里插入图片描述

(二)数据仓库的主要特征

数仓的特性主要有以下四种:

  1. 主题性,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织
  2. 集成性,数仓中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同
  3. 稳定性,数仓中保存的数据是一系列历史数据,不允许被修改
  4. 时变性,数仓会定期接收新的集成数据,反应出最新的数据变化

(三)数据仓库与数据库的区别

两者的区别主要有以下几点:

  1. 数据库是面向事务的设计,数据仓库是面向主题设计的。
  2. 数据库一般存储业务数据,数据仓库存储的一般是历史数据。
  3. 数据库设计是尽量避免冗余,一般针对某一业务应用进行设计,符合业务应用,但是不符合分析。数据仓库在设计是有意引入冗余,依照分析需求,分析维度、分析指标进行设计
  4. 数据库是为捕获数据而设计,数据仓库是为分析数据而设计。

二、Hive的概念

(一)Hive的介绍

  • 什么是Hive

    Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能,其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至也可以说hive就是一个MapReduce的客户端。
    在这里插入图片描述

  • Hive的特点
    (1)Hive最大的特点是通过类SQL来分析大数据,而避免了写MapReduce程序来分析数据,使得分析数据更加容易
    (2)数据是存储在HDFS上的,Hive本身并不提供数据的存储功能,它可以使已经存储的数据结构化
    (3)Hive是将数据映射成数据库和一张张的表,库和表的元数据信息一般存在关系型数据库上
    (4)数据存储方面,它能够存储很大的数据集,可以直接访问存储在Apache HDFS或其他数据存储系统中的文件
    (5)数据处理方面,因为Hive语句最终会生成MapReduce任务去计算,所以不适用于实时计算的场景,适用于离线分析
    (6)Hive除了支持MapReduce计算引擎,还支持Spark和Tez这两种分布式计算引擎
    (7)数据的存储格式有多种,比如数据源是二进制格式,普通文本格式等等

(二)Hive的架构

Hive主要由Client客户端,Metastore元数据,Driver驱动器以及存储和执行模块,各模块的介绍如下:

  • 客户端:客户端有很多中方式,hive shell 命令行、java访问hive或者是浏览器访问hive
  • 元数据:Metastore本质上只是用来存储hive中的元数据信息,元数据默认存储在自带的derby数据库中
  • 驱动器:Driver,Driver中包括
    (1)解析器(SQL Parser):将SQL字符转换成抽象语法树AST,并进行一些常规性检查
    (2)编译器(Physical Plan):将AST编译生成逻辑执行计划
    (3)优化器(Query Optimizer):对逻辑执行计划进行优化
    (4)执行器(Execution):把逻辑执行计划转换成可以运行的物理计划,对于Hive来说,就是MapReduce或者是Spark
  • 存储和执行:Hive使用HDFS进行存储,使用MapReduce进行计算
    在这里插入图片描述

(三)Hive与传统数据库相比

Hive具备与SQL相似的外表,但是其执行流程和应用场景与SQL完全不同,Hive只适合用于进行批量数据统计分析
在这里插入图片描述


总结

Hive是一个数仓工具,该工具并不存储数据,其底层主要是MapReduce,数据存储在HDFS上,该工具通过SQL命令转换成MapReduce,对存储在HDFS上的文件进行运算。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值