hive学习1--数据仓库与hive简介

作为一枚数据相关人员,可能逃不过每日在数据仓库里执行不下n遍的select xxx from xxx的命运,然后一边摸鱼一边等待着结果,这时间或长或短,日日如此。直到有天鱼都摸完了,sql结果还没出,事后检查才发现写法有问题,反思应该把摸鱼时间用在学习上。。。

hive里这种情况更明显一些。了解hive的执行原理,对多大数据量一般执行多长时间更有把握的话,能避免很多经常反复重跑sql、反复等待情况,大大提高工作效率,这个系列目的正式如此,进一步了解手里的工具,做到更好的使用它。

一、数据仓库

1.1 数据仓库简介

数据仓库,之所以叫数据仓库是因为它不生产数据(数据来源于其他系统)、也不消费数据。数据仓库是面向主题的、数据集成的、非易失的(准确性和稳定性)、时变的(会随时间变化)数据集合。

1.2 数据仓库分层

数据仓库汇集了其他业务系统中的数据,一般是复杂和混乱的,数据仓库分层就是涉及一套数据组织和管理方法来让数据体系更加有序。数据仓库分层一般分为源数据层(ODS)、数据仓库层(DW)、数据应用层(DA)。数据仓库分层图如下所示:

 

源数据层:一般存放其他系统同步过来的数据,如业务数据、埋点数据、日志数据等;

数据仓库层:存放了源数据层数据清洗和转换后的数据,该层数据存储的是一致的、准确的、干净的数据。数据仓库层可细分为明细层(DWD,存储明细数据,是粒度最细的事实数据)、中间层(DWM,为数据统计创建的中间表,对多个维度进行聚合)、业务层(DWS,用于存储宽表数据,是针对业务领域的聚合,主要是为了数据应用层的需要)。

数据应用层:该层的数据是为了满足具体的分析需求而构建的数据,从数据粒度上来说,具有高度汇总性,从数据广度上来说,则不一定会覆盖所有业务数据。

1.3 数仓建模

数据仓库建模一般遵循维度建模,常用的有星型模型和雪花模型。两者的区别是维度模型是否可以继续拆解。

2、Hive架构

Hive是底层封装了Hadoop的数据仓库处理工具,其运行在Hadoop之上。Hive架构组成主要包含4个部分,分别是用户接口(访问hive)、跨语言服务(不同语言调用hive接口)、驱动程度(完成Hivesql查询语句从词法分析、语法分析、编译、优化以及查询计划的生成,生成的查询计划存储在HDFS中,并在随后由MapReduce调用执行)、元数据存储系统(存放hive的表名、列、分区以及数据所在目录的位置信息等相关属性)。

3、Hive工作原理

Hive利用Hadoop的HDFS存储数据,利用Hadoop的MapReduce执行查询,下图是Hive和Hadoop之间的工作原理。

4、Hive数据类型

hive中除了基本的数值、字符串、日期等类型外,还支持三种集合数据类型,如array、map、struct,能够存储较复杂的数据类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值