logo资料库

【多易教育】Titan数据运营系统-v.6.2.pdf

第1页 / 共267页
第2页 / 共267页
第3页 / 共267页
第4页 / 共267页
第5页 / 共267页
第6页 / 共267页
第7页 / 共267页
第8页 / 共267页
资料共267页,剩余部分请下载后查看
1【项目介绍篇】
1.1项目整体背景
1.2数仓整体架构
1.3数仓的前端分析平台系统
1.3.1固定报表可视化
1.3.2OLAP分析平台
1.4技术选型
2【数据介绍篇】
2.1 App/Web埋点日志
2.1.1整体结构
2.1.2事件类型说明
2.1.3字段类型说明
2.1.4UTM广告跟踪特别说明
2.2 业务数据
3【数仓开发-数仓概念篇】
3.1 什么是数据仓库
3.2 数据库vs数据仓库
3.2.1数据库
3.2.2数据库VS数据仓库
3.3 报表vs数据可视化vs ETL
3.3.1报表
3.3.2数据可视化
3.3.3ETL
3.4 数仓分析主题
3.4.1数仓主题的含义
3.4.2电商行业数仓核心主题
1)总体运营主题
2)网站流量类主题
3)销售转化类主题
4)客户价值类主题
5)商品类主题
3.4.3本项目要实现的分析主题
3.5 事实和维度
3.5.1基本概念
3.5.2事实表及维度举例
3.5.3维表举例
3.5.4维度建模经典模型
3.6 数仓分层管理
3.6.1数仓分层概述
3.6.2分层思想示意图
3.6.3分层的原因
① 空间换时间(让大量运算任务可复用)
② 把复杂问题简单化
③ 便于解耦 “底层业务(数据)的变化”
3.7 后期提炼:数仓建模理论
3.7.1数仓建模理论
3.7.1.1什么是数据模型
2.6.1.2为什么要数据模型
2.6.1.3数据仓库建模阶段划分
2.6.1.4数据仓库建模方法论
(1)范式建模法
(2)维度建模法
(3)Data Vault建模
3.7.1.1.1Anchor 建模
3.7.2数据仓库建设流程
(1)数据调研
(2)业务调研
(3)需求调研
(4)调研方法论
4【数仓开发-数据采集篇】
4.1 日志埋点技术
4.2 Flume采集系统架构图
4.3Sqoop/DataX采集业务数据
4.3.1导入策略分析
4.3.1.1要导入的表
4.3.1.2导入的策略
4.3.1.3数据导入脚本开发
4.3.2数据迁移知识补充:sqoop
4.3.3用户信息表数据导入ODS
4.3.4订单信息表数据导入ODS
5【数仓开发-工程搭建篇】
5.1工程创建
5.2补充:maven扩展知识
6【数仓开发-字典构建篇】
6.1地理位置字典构建
6.1.1需求说明
6.1.2新技能:GeoHash编码
6.1.3地理位置字典构建代码实现
6.1.3.1需求说明
6.1.3.2实现方式
6.2商圈字典构建代码实现
6.3地理字典加强--高德服务
6.4[用户画像]app信息字典
6.5[用户画像]统一身份识别id映射字典
6.6[用户画像]url页面内容信息字典
7【数仓开发-日志预处理篇】
7.1 需求说明
7.1.1 清洗过滤
7.1.2 数据解析
7.1.3 数据集成
7.1.4 数据修正
7.1.5 保存结果
7.2 预处理开发实现
7.2.1 整体流程
7.2.2 完整代码
7.2.3 打包提交线上运行
8【数仓开发-埋点日志报表篇】
8.1 【数据加载】ODS层数据加载
8.1.1 数据建模
8.1.2 模型,表结构
8.1.3 加载数据
8.2 【明细构建】DWD层建模及开发
8.2.1.1 数据建模
8.2.1.2 ETL计算逻辑
8.2.1.3 Spark / Hive 任务实现
8.3 【流量分析】流量概况分析
8.3.1 DWS层建模及开发
8.3.1.1 流量会话聚合表建模
8.3.1.2 计算逻辑
8.3.1.3 流量_用户聚合表建模
8.3.1.4 计算逻辑
8.3.2 ADS层报表开发
8.3.2.1 流量概况统计报表建模
8.3.2.2 计算逻辑
8.4 【用户分析】日新日活分析
8.4.1 需求示例
8.4.2 需求分析
8.4.3DWS层模型设计
8.4.3.1 日活表:dws_usr_dau
8.4.3.2 日新表:dws_usr_dnu
8.4.3.3 登录历史记录表:dws_usr_hsl
8.4.4DWS层ETL开发
8.4.4.1 日活表计算逻辑
8.4.4.2 日新表计算逻辑
8.4.4.3 登录历史记录表计算逻辑
8.4.5ADS层报表开发
8.4.5.1 需求分析
8.4.5.2 日新维度分析报表计算
8.4.5.3 日活维度分析报表计算
8.5 【用户分析】新用户留存分析
8.5.1 需求分析
8.5.2 ADS模型ads_usr_nrt
8.5.3 ADS用户留存表ETL开发
8.6 【用户分析】用户新鲜度分析
8.6.1 需求分析
8.6.2 ADS模型ads_usr_fsu
8.6.3 ADS用户新鲜度报表计算
8.7 【用户分析】用户活跃成分分析
8.7.1 需求分析
8.7.2 DWS模型dws_usr_cta连续活跃区间记录
8.7.3 DWS层计算
8.7.3.1 计算逻辑
8.7.3.2 ETL开发
8.7.4 ADS报表开发
8.7.4.1 模型设计ads_usr_cta
8.7.5 ETL开发
8.8 【用户分析】用户访问间隔分析
8.8.1 需求分析
8.8.2 ADS模型ads_usr_itv
8.8.3 ADS访问间隔分布计算
8.8.3.1 实现方案1:spark计算逻辑
8.8.3.2 实现方案2:sql计算逻辑
8.9 【用户分析】活跃留存分析
8.9.1 需求分析
8.9.2 ADS模型ads_usr_art
8.9.3 ADS活跃留存报表计算
8.9.3.1 计算逻辑
8.9.3.2 代码实现
8.10 【终端分析】终端属性分析
8.10.1 需求分析
8.10.2 计算方案
8.11 【App分析】app版本用户分布
8.11.1 版本分布报表
8.12 【App分析】app版本升级分析
8.12.1 需求分析
8.12.2 ADS模型:ADS_APP_UPG
8.12.3 计算
8.12.3.1 计算逻辑:
8.12.3.2 ETL计算开发
8.13 【事件分析】交互事件概况分析
8.13.1 交互事件分析背景介绍
8.13.2 交互事件分析整体建模
8.13.3 DWD事件明细表:DWD_APL_ITR_DTL
8.13.3.1 建模
8.13.4 DWS聚合表:DWS_EVT_AGG_S
8.13.4.1 需求与建模
8.13.5DWS聚合表:DWS_EVT_AGG_U
8.13.6ADS报表: ADS_EVT_OVW概况统计报表
8.13.6.1 ETL
8.13.7ADS报表: ADS_EVT_TOPN
8.14 【路径分析】访问路径分析
8.14.1 需求
8.14.2 DWS建模:DWS_RUT_PGV页面路径
8.14.3 ADS建模:ADS_RUT_PGV页面路径统计
8.14.4 计算
8.15 【转化分析】转化漏斗统计
8.15.1 核心概念
8.15.2 建模:ADS_APL_LD
8.15.3 漏斗计算一:多易寻宝-促销活动
8.15.4漏斗计算二:呼朋唤友-拉新活动
8.16 【广告分析】站内广告分析
8.16.1 需求:概况分析
8.16.2 DWS层广告事件聚合表
8.16.3 ADS层广告概况报表建模及ETL
8.16.3.1 梳理计算要素
8.16.3.2 计算逻辑
8.17 【广告分析】站外广告分析
9【数仓开发-业务数据报表篇】
9.1【业务模型】业务表数据模型梳理
9.1.1电商业务库表模型整体架构
9.1.2本项目中所需要用到的业务表
9.1.2.1购物车表
9.1.2.2商品信息表
9.1.2.3订单主要信息表
9.1.2.4 订单收货人详情信息
9.1.2.5 订单商品详情信息
9.2【销量分析】GMV成交金额分析
9.2.1GMV概念
9.2.2ADS 计算
9.3【复购分析】复购率分析
9.3.1复购率概念
9.3.2复购率ADS报表开发
9.4【画像分析】用户订单画像报表分析(1)
9.5【画像分析】用户商品退拒画像分析(2)
10【数仓开发-任务脚本篇】
10.1【Spark任务】调度脚本开发
10.2【Sql任务】调度脚本开发
10.3【Sqoop任务】调度脚本开发
11【数仓开发-任务调度篇】
11.1【crontab】定时任务执行调度
11.2【Azkaban】定时任务执行调度
12【OLAP平台-整体概述篇】
12.1 OLAP 平台概述
12.2 OLAP平台需求示例
12.3 Presto集群搭建
13【OLAP平台-开发实现篇】
13.1 技术框架选型
13.2 web页面框架搭建
13.3 固化报表展现开发--表格形式
13.3.1需求说明
13.3.2前端页面开发
13.3.3后端controller
13.3.4后端service
13.3.5后端dao
13.4 固化报表展现开发--echarts图
13.4.1需求说明
13.4.2前后端分离开发
13.4.3前端页面开发
13.4.4后端controller层
13.4.5后端service层
13.4.6后端dao层
13.5 自定义联机分析-漏斗分析
13.5.1 需求说明
13.5.2 设计
13.5.3 前端页面开发
13.5.4 后端controller
13.5.5 后端service
13.5.6 后端dao
14【数据治理-atlas介绍篇】
14.1概要介绍
14.2核心组件
14.2.1Core
14.2.2Integration
14.2.3 Metadata source
14.2.4Applications
14.3核心特性
14.3.1数据分类
14.3.2集中审计
14.3.3搜索与血缘
15【数据治理-atlas部署使用篇】
15.1atlas编译打包
15.2atlas安装配置
15.2.1maven编译环境
15.2.2编译步骤
15.2.3安装步骤
15.2.4hive-hook钩子配置:
15.2.5运行测试
15.3atlas配置hive-hook
15.4atlas使用介绍
15.4.1Base Search
15.4.2Advanced Search
15.4.3创建Entity
15.4.4CLASSIFICATION
15.4.5GLOSSARY
15.4.6Lineage查看
16【用户画像-概念介绍篇】
16.1用户画像基本概念
16.2用户画像的应用
17【用户画像-标签体系设计篇】
17.1 产品经理视角
17.2 技术视角-标签种类
17.3 技术视角-标签层次
17.4 技术视角-标签开发策略
17.4.1 事实、模型标签
17.4.2 决策标签
18【用户画像-技术架构方案篇】
19【用户画像-事实标签计算篇】
19.1用户属性标签
19.2用户登录活跃指标
19.3用户年龄段划分
19.4用户行为标签
19.5用户消费能力标签
20【用户画像-guid方案重构篇】
21【用户画像-算法导论篇】
21.1机器学习概念
21.2机器学习算法的分类
21.2.1监督学习
21.2.2无监督学习
21.2.3半监督学习
21.2.4强化学习
21.3机器学习的常见算法
21.4基本数学知识
21.4.1向量入门
21.4.2向量的距离(相似度)
21.4.3矩阵入门
21.4.4概率入门
21.4.5线性方程入门
21.5Spark MLlib介绍
21.5.1MLlib的底层基础
21.5.2向量编程接口
21.5.3矩阵编程接口
21.5.4特征处理:向量规范化
21.6MLlib的算法库
21.6.1分类算法
21.6.2回归算法
21.6.3聚类算法
21.6.4协同过滤
22【用户画像-算法实例KNN手撕篇】
23【用户画像-算法实例NaiveBayes篇】
23.1算法简介
23.2朴素贝叶斯的原理及理解
23.3算法计算示例
23.3.1问题分析
23.3.2计算过程
23.4算法实战:Bayes评论语义分类
23.4.1语义情感分析算法Bayes
23.4.2朴素Bayes算法工程实践
23.4.2.1文本语义分析特征工程
23.4.2.2文本语义分类模型训练实现
24【用户画像-算法实例LogisticRegression】
24.1算法模型
24.2极大似然估计
25【用户画像-模型标签流失预测篇】
25.1流失概率预测需求
25.2算法选择-朴素贝叶斯分类算法
25.3特征工程-选择特征
25.4特征工程-特征数据源
25.5特征工程-特征值离散化
25.6特征工程-向量规范化
25.7机器学习-模型训练
25.8机器学习-流失率预测
26【用户画像-消费行为性别预测篇】
26.1性别预测需求
26.2算法选择-逻辑回归分类算法
26.3特征工程-选择特征
26.4特征工程-数据加工
26.5机器学习-模型训练
26.6机器学习-性别预测
27【用户画像-退拒风险概率预测篇】
28【用户画像-画像OLAP平台篇】
28.1画像数据查询分析
28.2用户分群查询分析
28.3自定义标签查询分析
29 附录:扩展知识点汇总
29.1 日志工具log4j
29.2 scala模式匹配(函数)
29.3 sparksql解析复杂json
29.4 高德地图服务
29.4.1导论
29.4.2高德地图服务申请
29.4.3高德地图服务API
29.5 GPS坐标geohash编码
29.6 HanLP中文分词
29.7 hive多重插入语法
29.8 hive动态分区
29.9 OLAP多维分析
29.9.1cube导论
29.9.2cube核心操作
29.9.2.1SLICE (切片)
29.9.2.2DICE (切块)
29.9.2.3ROLL UP (上卷)
29.9.2.4DRILL DOWN (下钻)
29.9.2.5PIVOT (旋转)
29.10 hive 高阶聚合函数
29.10.1 with cube函数
29.10.2 grouping sets 函数
29.10.3 with rollup函数
29.11 with as 语法
29.12 经典数仓模型:拉链表介绍
29.13 经典数仓模型:拉链表实战
29.14 maven高级特性
29.14.1maven的依赖实质
29.14.2maven的打包、编译命令生命周期
29.14.3maven的打包的依赖问题
29.15 Spark任务运行时依赖jar
29.16 Linux定时任务配置
29.17 Hive任务的脚本化
29.18 Shell脚本编写
29.18.1 参数传递
29.18.2 判断
29.18.3 日期获取
29.18.4 获取上一条命令的退出码
29.19 Sqoop教程
29.19.1概述
29.19.2工作机制
29.19.3安装
29.19.3.1前提概述
29.19.3.2软件下载
29.19.3.3安装步骤
29.19.4Sqoop的基本命令
29.19.4.1基本操作
29.19.4.2Sqoop的数据导入import
29.19.4.3关于空值的处理
29.19.4.4模板命令手册
【多易教育】 yiee 数据运营系统 <数据仓库> DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
1 【项目介绍篇】 本项目是一个典型的大数据处理系统; 1.1 项目整体背景 本项目所适用的行业或业务背景有: 主营业务在线上(app/网站)进行的公司!(外卖公司、各类 app< 比如:下厨房;头条;安居客;内涵段子;斗鱼;每日优鲜>、页游、唯品会、拼多多、当当、苏宁 易购、国美在线、网易严选、携程、中华会计网校、多易教育、小象学院、慕课网、尚德教育、有钱 花、上哪借 ……) 这类公司,都需要针对用户的线上访问行为、消费行为、业务行为进行统计分析!以支撑公司的业务 运营,提高业务转化率,改善公司运营效果! 这些需求,都需要通过构建一个数仓系统来支撑! 数据仓库:作为数据的管理和运算中心; 数据存档; 各种统计、运算任务的核心平台; 这类公司,往往还需要对每个用户进行个性化推荐/营销运营,改善用户体验,提高用户粘性,增大 销售额! 这些需求,可以通过对用户进行精准用户画像系统(深入分析用户后给用户打上各种规范标签:年龄, 性别,地域特征,偏好特征,价值指数,行为习惯,消费习惯......)、推荐系统来实现! 用户画像系统:用于支撑精细化营运; 比如,针对不同的人群发放不同的优惠券; 比如,针对不同的人群定制不同的打折规则; 比如,针对不同的人群推行不同的营销活动; 比如,针对流失概率大的人群进行挽留; 推荐系统:用于个性化推荐 对不同的人,在不同的场景中,推荐不同的物品 以上所述的数据仓库系统、用户画像系统、推荐系统,整体上来说,需要一个大型的综合性的数据处 理系统; 该数据处理系统可以使用离线计算方式实现,也可以使用实时计算方式实现; 更多的是离线和实时结合起来实现; 公司一般会根据不同的场景,灵活使用离线和实时技术: 离线:系统化的,计算的数据时间跨度长的,运算量大的任务 实时:对时效要求高的需求 DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
1.2 数仓整体架构 DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
1.3 数仓的前端分析平台系统 前端分析平台上有两个功能:  展示固定的报表数据(提前每天固定通过离线技术 Hive 算好的)  交互式的联机数据分析 OLAP(在页面上自定义报表需求,实时得到报表结果-presto) 1.3.1 固定报表可视化 DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
1.3.2 OLAP 分析平台 示意图: 1.4 技术选型 注: 粗体字的是数仓中所涉及到的 项目中所涉及到的技术: 采集: flume : 分布式日志数据汇聚 sqoop : 离线批量抽取数据库 cannal : 实时数据库数据逐条监听、抽取 nginx 插件:前端 存储: hdfs mysql redis hbase/elastic search :用户画像标签数据的存储查询服务 kafka : 实时计算的缓冲 运算: hive / mapreduce spark core/ sql flink / spark streaming DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
OLAP 引擎 Presto 数仓元数据管理(血缘管理): Atlas job 调度系统: Azkaban 算法(用户画像/推荐系统): spark 代码/sql 代码实现的通用统计计算; 图计算: SparkGraphx; 机器学习算法: k 均值 KNN k 近邻 KMEANS Naive Bayes 朴素贝叶斯 随机森林 协同过滤算法 各类相似度算法:欧几里得距离、余弦相似度、皮尔逊相关系数 NLP 算法: TF-IDF 关键词提取 文本向量化算法 文本相似度算法 文本分类算法 关联规则分析:FP-GROWTH 算法/APRIORI 算法 DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
2 【数据介绍篇】 2.1 App/Web 埋点日志 分为前端(html 页面/H5 页面/app/微信小程序)埋点和后端埋点 埋点就是植入一些用于搜集用户行为信息的代码! 2.1.1 整体结构 其中主要包含如下信息:  时间信息  地域信息  用户属性  终端属性  事件信息 其中主体结构为一个 json 字串,样例如下: DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
2.1.2 事件类型说明 关于事件类型和 event 字段举例说明如下: 更详细内容请参见:《易头条-事件设计模板》 编号 事件名称 1 2 3 4 5 6 7 8 9 10 11 startup favor rate add_cart thumbup ad_click ad_show search pg_view rec_click sub_order 说明 启动事件 收藏事件 评分事件 添加 item 到购物车事件 点赞事件 点击广告事件 广告展示曝光事件 站内搜索事件 页面浏览事件 推荐项点击事件 “推荐栏目 id,商品 id,事件所发生的页面” 提交订单事件 DOIT 北京多易教育科技有限公司 QQ 群:965123607 www.51doit.com
分享到:
收藏