栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive数仓

Hive数仓

一、数据仓库

Data Warehouse ,简称数仓,是一个用于存储、分析、报告的数据系统

特点:1.不“产生”任何数据,其数据来源于不同外部系统;

           2.不需要“消费”任何的数据,其结果开放给各个外部应用使用。

数据仓库与数据库:

数据库,联机事务处理OLTP(On-Line Transaction Processing),目标为数据处理;

                面向事务的设计

                一般储存业务数据

数据仓库,联机分析处理OLAP(On-Line Analytical Processing),目标是做数据分析

                面向主题设计的

                为分析数据而设计

二、数仓分层架构

1、典型三层架构

ODS层:操作型数据层,也称之为元数据层、数据引入层、数据暂存层、临时缓存层

              存放未经处理的原始数据至数据仓库系统

              结构上与源系统保持一致,是数据仓库的数据准备区

DW层:数据仓库层,ODS层数据加工而成,主要完成数据加工与整合

               建立一致性的维度,构建面向分析和统计的明细事实表,及汇总公共粒度的指标

                可分为公共维度层(DIM)、公共汇总粒度事实层(DWS、DWB)、明细粒度事实层(DWD)

DA层:数据应用层,面向最终用户,面向业务定制提供给产品和数据分析使用的数据

2、数仓分层好处

清洗数据结构;把复杂问题简单化;减少重复开发;实体建模法。

3、数仓建模方法

范式建模法(3NF,第三范式),

维度建模法,表类型有:事实表、维度表

实体建模法,任何一个业务过程可分成3个部分:实体、事件、说明。

4、维度建模

事实表:业务数据,比如电商订单

三、官方定义

建立在Hadoop之上的开源数据仓库系统。

        1.管理元数据,将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表

         2.提供SQL方案,分析数据(将SQL转化成MR)。基于表提供一种类似SQL的查询模型(HQL),用于访问和存储在Hadoop文件中的大型数据集。

四、架构组件

用户接口:CLI为shell命令行;

Hive中Thrift服务器允许外部客户端通过网络与Hive进行交互,类似JDBC或ODBC;

WebGUI是通过浏览器访问Hive。

元数据存储:存储在关系数据库如MySQL/Derby中;

包括表的名字,标的列和分区及其属性,表的属性,表的数据所在目录等。

Driver驱动程序:语法解析器、计划编译器、优化器、执行器;

完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成;

生成的查询计划存储在HDFS中,并在随后有执行引擎条用户执行。

执行引擎:MapReduce、Tez、Spark

五、数据模型

第1类,普通表。database数据库表和表table

第2类,分区表。指定分区字段,将表的数据按照目录进行划分。

第3类,分桶表。指定分桶个数和字段,将数据分在不同文件中,但在同一目录下。

六、部署使用

首先,部署Hadoop集群。

        存储标的数据,执行程序。

其次,安装MYSQL数据库

        储存元数据

第1种方式:直接运行bin/hive命令行即可,什么服务都不用启动。(Hive2之前)

第2种方法:HivemetaStore服务,用于连接数据库,获取元数据

                    HiveServer2服务,连接metaStore服务,权限控制等

                    beeline命令行或JDBC方式连接

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780606.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号