ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-12-07 22:35:29  阅读:269  来源: 互联网

标签:知识点 数仓 导图 离线 用户 job 编写 日志 数据


离线数仓
    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数据操作
        五、函数
        六、存储与压缩

 

标签:知识点,数仓,导图,离线,用户,job,编写,日志,数据
来源: https://www.cnblogs.com/liujinhui/p/15659160.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有