基于Hue,Dolphinscheduler,HIVE分析数据仓库层级实现及项目需求案例实践分析

目录

一、数仓各个层级及作用

        1,ODS层(Operation Data Store-源数据层)

        2,DW层(Data Warehouse-数据仓库层)

                (1)DWD(Data Warehouse Detail-明细数据层)

                (2)DWM(Data Warehouse Middle-明细数据层)

                (3)DWS(Data Warehouse Service服务数据层)

        3,ADS层(Application Data Store-数据应用层) 

        4,DIM层(Dimension-维度层) 

二、基于项目需求案例实践分析 

        1,ODS层-拉取数据并导入hive

        2,DIM层-对用户的详情作为维度(多个left join) 

         3,DW层-对数据进行清洗操作 

         (1)DWD层

         (2)DWS层

         4,ADS层

 补充:Hue-可视化hive工具(类似于Navicat)


前言:

        最近因公司业务调整开始涉及大数据方面知识,现开始学习数据仓库等技术知识。本章主要是用来分析根据业务数仓的各个层级及工具的运用。核心:HIVE。

一、数仓各个层级及作用

        1,ODS层(Operation Data Store-源数据层)

                这层一般不需要做任何的清洗工作,只需要把源数据中的数据插入到数仓中。

        2,DW层(Data Warehouse-数据仓库层)

                (1)DWD(Data Warehouse Detail-明细数据层)

                      对ODS层数据进行清洗(去除空值,脏数据,超过极限范围的数据)、维度退化、脱敏等

                (2)DWM(Data Warehouse Middle-数据中间层)

                      该层会在DWD层的数据基础上,对数据做轻度的聚合操作,生成一系列的中间表,提升公共指标的复用性,减少重复加工。一般而言,针对DWM层的设计开发是建立在,积累一定数量DM和相关需求后,将设计到重复的指标和维度下沉到DWM的表中,因此在数仓建立初期,可能会有直接跳过DWM来开发的情况(本文就是跳过此层设计),但是随着相似的需求不断的增加,DWM的开发势在必行,而到了这种时候,我们可以以历史需求为参考,思考那些指标和维度是业务真正需要的,从而设计相应的表,避免开发大量无用的表,消耗不必要的存储和计算资源。在该层中的汇总表根据维度数量不同分为2种,一种是单一维度轻度汇总表,另一种是多维度轻度汇总表

                (3)DWS(Data Warehouse Service服务数据层)

                以DWD为基础,按天,主题等进行轻度汇总。 

        3,ADS层(Application Data Store-数据应用层) 

                在DW层处理完成的数据通过工具进行可视化加工,当数据处理完成存储在Hive中,处理完成的数据可以通过ETL(Extract-Transform-Load)工具推送到关系型数据库中(例如Mysql),一般情况下,数据都有一个储存周期,400天左右,我们使用的可视化-工具平台(Dolphinscheduler),可以进行同比(年)、环比(月),这些数据形成一个数据集(结果),最后一步就是根据业务需求来配置报表

        4,DIM层(Dimension-维度层) 

        以维度作为建模驱动,基于每个维度的业务含义,通过添加维度属性、关联维度等定义计算逻辑,完成属性定义的过程并建立一致的数据分析维表。为了避免在维度模型中冗余关联维度的属性,基于雪花模型构建维度表。维度层的表通常也被称为维度逻辑表。

  • 高基数维度数据

    一般是用户资料表、商品资料表等类似的资料表。数据量可能是千万级或者上亿级别。

  • 低基数维度数据

    一般是配置表,比如枚举值对应的中文含义,比如国家、城市、县市、街道等维表。数据量可能是个位数或者几千几万。

二、基于项目需求案例实践分析 

 需求:对接第三方系统并统计用户组成,并对用户类型进行分析占比等。

 首先拿到需求先确定数据来源,确定好数据来源再对需求进行一步步的拆解。

(建表需要手动在HIVE里创建,dolphinscheduler中主要是负责数据插入)

        1,ODS层-拉取数据并导入hive

        在dolphinscheduler-资源中心创建脚本,主要是把源数据(涉及到所有用户的信息)从对方数据库(Oracle,MySQL等)导入hive中(脚本文件百度上有,只要修改连接信息就行)。

在项目管理中创建shell并执行脚本就可以同步数据。

        2,DIM层-对用户的详情作为维度(多个left join) 

                主要是用来把所有ODS层中只要涉及到用户信息一并存入本表中,主要为了下面DWS层及DWD层中对用户数据的左连接。

 

         3,DW层-对数据进行清洗操作 

         (1)DWD层

                  对ODS层中用户的数据进行清洗主要把异常用户(id重复及月份空值等)数据清除,并插入hive中。

         (2)DWS层

                主要是对DWD层的用户数据做一个扩展,能细尽细的原则,统计每天,每月,每日的用户数据,及各个类型用户数据分析等。

         4,ADS层

               对DWS层中(新增维度,业务预期)的数据 插入到SQL文件中,利用脚本导入。

 补充:Hue-可视化hive工具(类似于Navicat)

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Apache DolphinScheduler是一个新一代分布式大数据工作流任务调度系统,致力于“解决大数据任务之间错综复杂的依赖关系,整个数据处理开箱即用”。它以 DAG(有向无环图) 的方式将任务连接起来,可实时监控任务的运行状态,同时支持重试、从指定节点恢复失败、暂停及 Kill任务等操作。目前已经有像IBM、腾讯、美团、360等400多家公司生产上使用。 调度系统现在市面上的调度系统那么多,比如老牌的Airflow, Oozie,Kettle,xxl-job ,Spring Batch等等, 为什么要选DolphinSchedulerDolphinScheduler 的定位是大数据工作流调度。通过把大数据和工作流做了重点标注. 从而可以知道DolphinScheduler的定位是针对于大数据体系。DolphinScheduler 发展很快 很多公司调度都切换到了DolphinScheduler,掌握DolphinScheduler调度使用势在必行,抓住新技术机遇,为跳巢涨薪做好准备。 优秀的框架都是有大师级别的人写出来的,包含了很多设计思想和技术。DolphinScheduler也不例外,它是一个非常优秀的框架,用到很多技术和设计思想,本课程会带大家深入DolphinScheduler框架源码,包括设计的思想和技术都会讲解,DolphinScheduler源码很多,会按照模块进行讲解,学习完课程后,不仅可以熟悉DolphinScheduler使用,而且可以掌握很多优秀的设计思想和技术,给自己的技术带来很大提升,为跳巢涨薪做好准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值