天天看点

离线数仓(1)如何构建离线数仓

如何构建离线数仓

author:宋权

tel/V:18211850987

备注:在工作和面试过程中,越来越多的公司开始使用数仓,并构建自己的数仓,无论是使用阿里云,还是自己的服务器来进行搭建,通过构建数据仓库,进而实现数据集市,应对各个部门的数据分析,业务报表,以及机器学习相关数据的使用,所以通过B站上的资料,自己通过学习,进行下整理,减少要看几百集视频来学习,时间的花费,提取精华,同时也做一个自己学习的记录,如果有不对的地方,欢迎大家指正,共同提高。

1.项目需求

在实际企业中,数据大多分为离线数据,和实时数据,学习的视频中数据来源主要是电商数据,来自log和用户行为数据,本人工作接触到的主要是运营商数据,搭建一个数仓,确实能够极大的提高数据的使用效率,减少每次使用数据是,都用一个包含百十个字段的大表里拉取数据的烦恼,同时在这个课程里的即席查询,也对产品经理从大量原始数据中,找到自己想要的数据,提供了极大的便利。减少了反复搬砖的困扰。

概念的解释:

(1)数据仓库维度建模:将数据表经过处理后,分为ods,dwd,dws,dwt,ads等五层,建实时表和维度表

(2)即席查询:使用presto(GB),kyline(TB),进行数据结果的查询,两种工具能够很好地连接多种数据源,并使用sql进行结果查询

(3)元数据管理:针对数据信息的管理,相关的工具有Atlas(接触过Ambari平台下的Atlas使用,大致功能就是,针对数据信息的增删改查,相关用户使用元数据的分配)

离线数仓(1)如何构建离线数仓

2.技术选型

(1)flume针对离线数据,定期从指定的log服务里拉取数据,并存储到hdfs,等相关存储位置

(2)Sqoop到数据库中的数据,进入Hdfs等相关位置

(3)采用hive  on spark,使用spark引擎,提高hiveSQL处理速度

(4)可以使用flink作为实时数仓(后期更新)

离线数仓(1)如何构建离线数仓

3.流程结构

该结构中使用kafka做了一个分布式的消息中间件,提高数据安全,以及缓冲的作用

离线数仓(1)如何构建离线数仓

未完待续。。。

继续阅读