【离线数据仓库及CDH】思维导图知识点总结

离线数仓
    1.用户行为数仓采集
        一、数仓概念
            Data Warehouse
            提供决策,为数据目的地做好准备
        二、项目需求及系统架构
            采集、行为/业务分层数仓、报表分析
            框架CDH(CM):采集传输、存储、计算、查询
        三、数据生成模块
            数据格式:公共字段+业务字段
            事件日志数据、编写数据生成脚本(编写bean,使用Logback打印日志)
        四、数据采集模块
            Hadoop:磁盘扩展、LZO压缩(建索引)、yarn和hdfs集群配置
            zookeeper:~系统/用户环境变量、日志生成参数(延时时间、迭代次数)、半数选举机制
            日志采集的Flume:编写ETL和分类型拦截器、日志采集启动停止脚本编写
            kafka:kafka-consumer-perf-test.sh压力测试、Flume采集kafka数据、分区分配、幂等机制、ISR
    2.用户行为数仓搭建
        一、数仓分层概念
            分层原因:处理单一任务、增加复用性、与原始数据隔离(解耦)
            ODS原始数据、DWD明细数据、DWS服务数据、ADS数据应用层
            ODS:存放原始日志、数据保持原貌
            DWD:结构和粒度一致,做数据清洗
            DWS:数据以某一维度为线索,进行轻度汇总,并形成一个以用户维度为线索的宽表
            ADS:为统计报表提供数据
            数据集市面向部门,数据仓库面向企业/临时数据库tep、备份数据库bak
        二、数仓搭建环境准备
            hive&mysql安装
            使用hive的tez引擎,多个依赖作业转化为一个作业
        三、数仓搭建之ODS层
            创建数据库、创建索引配置LZO压缩、创建事件日志表(公共字段+事件名称)
            传参,编写加载数据 & 加索引的脚本
        四、数仓搭建之DWD层
            数据清洗/去除空值/异常值
            编写基础明细表(事件名&json),按照日期分区
            自定义UDF和UDTF函数,分别解析公共字段和不同事件
            数据加载脚本:获取指定json,并分别建立对应的事件表,如点赞、广告表等
        五、业务知识准备
            术语:沉默用户、活跃用户、流失用户、留存用户
            系统函数:collect_set、date_format、date_add
            需求实施流程:模型设计、数据开发、前后端联调
        六、各类需求
            用户活跃设备之DWS和ADS层编写
            用户新增设备之DWS(新增明细)和ADS(按日期的新增数量)
            用户留存主题、沉默用户、活跃用户、留存用户……
    3.系统业务数据仓库
        一、电商业务及结构
            产品SPU和库存量SPU及电商表结构和业务流程
        二、数仓理论
            表的分类:实体表、维度表、事务型事实表、周期型事实表
            同步策略:全量表、增量表、新增及变化表、拉链表
            关系建模OLTP(多表关联)与维度建模OLAP(围绕一张表)
            数仓模型:星型模型、雪花模型、星座模型
        三、数仓搭建
            配置Hadoop支持Snappy压缩
            MySQL调用方法进行业务数据生成,使用sqoop导入hdfs,编写生成指定日期及导入脚本
            建ODS层及DWD层的表并编写数据导入脚本
            构建用户行为宽表并编写导入脚本
        四、ADS层不同需求(成交额、转化率等)
            GMV阶段成交额(统计当日订单个数及总金额)
            用户转化率-用户新鲜度及漏斗分析(新增占活跃)
        五、数据可视化
            MySQL建表并插入数据(活跃、留存、漏斗、GMV、全国商品分析)
            运行spring-boot-echarts-master查看结果
            编写sqoop导出数据脚本(web页面从MySQL中读取数据)
        六、Azkaban调度器
            Azkaban程序运行job
            GMV全流程脚本:import.job、ods.job、dwd.job、dws.job、ads.job、export.job
            文件压缩并上传至工程中执行,查看结果
        七、订单拉链表
            使用:得到某个时间段(点)的全量数据切片
            形成过程:每日的订单表->添加创建和操作时间,得到订单变化表->合并之前拉链表
            制作过程:生成订单数据、建拉链表、初始导入、查询、调方法新增数据、合并追加到临时表后覆盖
    4.即席查询
        一、Presto
        二、Druid
        三、Kylin
    5.CDH数仓
        一、数仓之Cloudera Manager
        二、数仓之CDH
        三、数仓搭建环境准备
        四、业务数仓搭建
        五、数仓之即席查询数仓搭建
        六、安全之Kerberos安全认证
        七、安全之Sentry权限管理
        八、集群测试
        九、节点的添加和删除
    6.Impala
        一、基本概念
        二、安装及常用命令
        三、DDL数据定义
        四、DML数据操作
        五、函数
        六、存储与压缩

 

上一篇:记录一下用SpringBoot写后台遇到的坑 2021-05-18


下一篇:Springboot学习笔记6:整合Druid