大数据技术应用7-1数据仓库Hive的介绍

        Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言日志数据查询分析的工具,而Hive就诞生于此,只要懂SQL语言,就能够胜任大数据分析方面的工作,还节省了开发人员的学习成本。

什么是数据仓库

数据仓库是一个面向主题的、集成的、随时间变化的,但信息本身相对稳定的数据集合,它用于支持企业或组织的决策分析处理,这里对数据仓库的定义,指出了数据仓库的三个特点。

大数据技术应用7-1数据仓库Hive的介绍_第1张图片

 数据仓库的结构

        数据仓库的结构是由数据源数据存储管理OLAP服务器前端工具四个部分组成。         大数据技术应用7-1数据仓库Hive的介绍_第2张图片

 1.数据源

数据源是数据仓库的基础,即系统的数据来源,通常包含企业的各种内部信息和外部信息。

2.数据存储及管理

数据存储及管理是整个数据仓库的核心,决定了对外部数据的表现形式,针对系统现有的数据,进行抽取、清理并有效集成,再按照主题进行组织。

3.OLAP服务器

OLAP服务器对需要分析的数据按多维数据模型进行重组,以支持用户随时进行多角度、多层次的分析,并发现数据规律和趋势。

4.前端工具

前端工具主要包含各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库或数据集市开发的应用。

数据仓库的数据模型

         数据模型(Data Model)是数据特征的抽象,在数据仓库建设中,一般围绕星型模型雪花模型来设计数据模型。星型模型是以一个事实表和一组维度表组合而成,并以事实表为中心,所有维度表直接与事实表相连。

大数据技术应用7-1数据仓库Hive的介绍_第3张图片

 雪花模型是当有一个多个维表没有直接连到事实表上,而是通过其他维表连到事实表上,其图解像多个雪花连在一起,故称雪花模型。雪花模型是对星型模型的扩展,原有的各维表可被扩展为小的事实表,形成一些局部的 "层次 " 区域,被分解的表都连主维度表而不是事实表。

大数据技术应用7-1数据仓库Hive的介绍_第4张图片

关于Hive

 Hive是建立在Hadoop文件系统上的数据仓库,它提供了一系列工具,能够对存储在HDFS中的数据进行数据提取、转换和加载(ETL),这是一种可以存储查询分析存储在Hadoop中的大规模数据的工具。Hive定义简单的SQL查询语言(即HQL),可以将结构化的数据文件映射为一张数据表,允许熟悉SQL的用户查询数据,允许熟悉MapReduce的开发者开发mapperreducer来处理复杂的分析工作,与MapReduce相比较,Hive更具有优势。      

  Hive采用了SQL的查询语言HQL,因此很容易将Hive理解为数据库。其实从结构上来看,Hive和数据库除了拥有类似的查询语言,再无类似之处,MySQLHive对比如下所示。

大数据技术应用7-1数据仓库Hive的介绍_第5张图片

关于Hive系统框架

 Hive是底层封装了Hadoop的数据仓库处理工具,运行在Hadoop基础上,其系统架构组成主要包含4部分,分别是用户接口跨语言服务底层驱动引擎元数据存储系统。

大数据技术应用7-1数据仓库Hive的介绍_第6张图片

关于Hive的工作原理

Hive建立在Hadoop系统之上,因此Hive底层工作依赖Hadoop服务Hive底层工作原理如下所示。

大数据技术应用7-1数据仓库Hive的介绍_第7张图片

关于Hive数据模型

 Hive中所有的数据都存储在HDFS中,它包含数据库Database)、Table)、分区表Partition)和桶表Bucket)四种数据类型。

大数据技术应用7-1数据仓库Hive的介绍_第8张图片

 

数据库Database):相当于关系数据库中的命名空间,作用是将用户和对数据库的应用隔离到不同的数据库或者模式中。

Table):内部表和外部表;数据仓库、HDFS

分区表Partition):分区列,加快查询速度

桶表Bucket):Hive数据模型的最小单元

 

 

你可能感兴趣的:(大数据,hive,数据仓库)