大数据之路

目录

数据技术篇

日志采集

数据同步

离线数据开发

实时技术

数据服务

数据挖掘

数据模型

建模综述

数据整合及管理体系

维度设计

事实表设计

数据管理

元数据

计算管理

存储和成本管理

数据质量

数据应用


整个大数据 体系分为四层

  1. 数据采集,Web端/移动端/pc端数据采集,离线/实时数据 同步
  2. 数据计算,离线计算/实时计算
  3. 数据服务,各种关系/非关系型数据存储
  4. 数据应用,搜索,推荐,广告,金融,信用,保险,文娱,物流,使用的是下层数据服务的内容,实现各种维度的应用

数据技术篇

日志采集

记录用户的行为数据

  1. http请求
  2. http响应
  3. 浏览器解析html内容

在第二步响应时候给html内容增加一个隐藏的日志采集点
在第三步解析html时,触发这个采集点,发送异步请求,服务端记录这次日志
服务端过滤掉一些不合法的日志,处理流量攻击,网络爬虫产生的日志
html5页面,增加采集点,当触发各种行为时,发送请求日志

无线端采集
无线客户端对页面加载,页面点击都会触发日志
无线客户端会日志汇总过滤并缓存,最后统一发送
H5日志和native日志,两者都可以,阿里采用native日志
记录唯一的设备标识,方便后续用户分析

日志传输
通过业务类型/URL对日志分组
客户端在高峰期对日志限流延迟上报
对实时性高的单独处理

数据同步

同步方式

  1. 直连同步
  2. 数据文件同步,从源系统按规则生成文本文件到专门服务器,再传到目标端
  3. 数据库日志解析同步,实时/准实时

数据仓库同步

  • 批量同步,DataX,每天2PB
  • 实时数据同步,TimeTunnel(消息推送方式)

数据同步的问题

  • 分库分表处理,TDDL(位于JDBC之上,持久层框架之下)
  • 批量同步获取元数据
  • 增量数据,full join前一天数据+当天数据 inser verwrite写入
  • 通过目标元数据估算同步速度
  • 数据漂移,多获取前后一天15分钟数据再过滤

数据增量同步的合并方式

流水号 主键 变更类型 数据内容
1 1 Insert a=1,b=2
2 2 Update a=7,b6
3 1 Update a=4,b=0
4 2 Delete NULL
5 1 Upate a=4,b=7

第一种,不过滤删除流水,根据主键排序合并

流水号 主键 变更类型 字段a 字段b
4 2 Delete NULL NULL
5 1 Update 4 7

第二种方式,过滤最后一条删除流水

流水号 主键 变更类型 字段a 字段b
2 2 Update 7 6
5 1 Update 4 7

第三种方式,过滤删除流水和之前的流水

流水号 主键 变更类型 字段a 字段b
5 1 Update 4 7

离线数据开发

数据开发平台
了解需求->设计模型->ETL开发->测试->发布上线->日常运维->任务下线
离线计算平台MaxCompute

  1. 客户端,Web,SDK,命令行工具,IDE
  2. 接入层,提供HTTP服务,负载均衡,认证等
  3. 逻辑层,拆解调度,解析命令等,有Worker,Schduler,Executor
  4. 计算层,飞天,包括分布式文件系统,资源调度系统,ZK服务,监控模块

统一开发平台,过滤校验数据,敏感信息模糊化

任务调度系统

  • 1.任务状态机,未运行,等待运行,等待资源,运行中,成功,失败
  • 2.工作流状态机模型,创建工作流,已创建,启动,运行中,成功,失败

调度引擎工作原理
异步处理任务调度
同步处理任务调度
任务事件处理器
DAG事件处理器

调度引擎特点

  1. 调度配置
  2. 定时调度
  3. 周期调度
  4. 手动运行
  5. 补数据
  6. 基线管理
  7. 监控报警


实时技术

数据时效性分类
1.离线,今天(T),处理N天前(T-N,N>1)的数据,延迟粒度为天
2.准实时,当前小时(H),处理N小时前(H-N,N>0,如N=0.5)的数据,粒度为小时
3.在当前时刻处理当前的数据,延迟粒度为秒

流式技术架构
1.数据采集,Kafka
2.数据处理,Storm
            去重指标 布隆过滤器,基数估计
            数据倾斜 去重指标分桶,非去重指标分桶
            事务处理
3.数据存储  Hbase
            表名设计, 汇总层标识+数据域+主维度+时间维度
            rowkey设计,MD5(ID前几位)+卖家ID+app+一级类目ID+二级类目ID
4.数据服务  调用方只需使用服务层暴露的接口
            屏蔽存储系统间的差异

流式数据模型
1.ODS层,订单粒度变更过程,一笔订单有多条记录
2.DWD层,订单粒度支付记录,一笔订单只有一条记录
3.DWS层,卖家的实时成交金额,一个卖家只有一条记录且指标实时刷新
4.ADS层,外卖地区的实时成交金额,只有外卖业务使用
5.订单商品类目和行业的对应关系维表

 

 


数据服务

架构演进

  1. 通过SOA方式暴露接口
  2. OpenAPI方式,增加逻辑表减少暴露的接口
  3. Domain Sepcific 语言,通过逻辑表SQL进一步减少接口
  4. 统一数据服务层,对逻辑表SQL按业务分类

最佳实践
性能
1.剥离计算资源
2.查询资源分配,耗时和简单查询分配到不同线程中
3.执行计划优化,拆分查询,合并查询
4.元数据缓存
5.模型缓存
6.结果缓存
7.合并查询

稳定性
1.元数据隔离,测试,预生产,生产多个环境
2.隔离发布,资源划分,资源独占
3.隔离,机房隔离,分组隔离
4.安全限制,最大返回记录数,超时时间
5.监控,调用日志采集,调用监控
6.限流和降级

数据挖掘

数据挖掘平台
基于MaxCompute MPI的机器学习算法
分类算法,LogisticRegression,kNN,GBDT,DTC5.0,RaddomForest,linearSVM,onnlinearSVM,
          NavieBayes,Bayes,Fisher判别,马氏距离判别,标签传播分裂
回归算法,LinearRegression,GBDT,LASSO,RidgeRegression,Factorization Machines,XGBoost
聚类算法,K-Means,Canop,PSC谱聚类,标签传播聚类,EM聚类
推荐算法,etrec协同过滤,SVD协同过滤,ALS协同过滤
深度学习,Word2Vec,Doc2Vec,CNN,DBN,DeepMatchModel
其他,    PageRank,LDA,pLSA,关联规则,NMF,CRF,SVD,RankSVM,PCA,kcore,sssp,
          Modularity计算

数据挖掘中台系统
1.特征层
2.中间层
3.应用层

数据挖掘案例

  • 用户画像,浏览,收藏,交易给用户贴标签,商品名称标签(通过算法确定类别),给用户贴标签,精准推荐
  • 互联网反作弊,账户/资金安全与网络欺诈防控,非人行为和账户识别,虚假订单和信用炒作 广告和APP安装反作弊,UGC而已信息监测

数据模型

建模综述

Linus,烂程序员关心的是代码,好程序员关心的是数据结构和他们之间的关系
建模的好处
性能,成本,效率,质量
OLTP系统,面向数据是随机读写的系统
OLAP系统,面向批量读写的系统

经典模型
ER模型,数据仓库之父Bill Inmon提出的
Data Vault模型
Anchor模型

阿里数据模型
1.基于Oracle的完全应用驱动
2.基于GreenPlum的四层模型,操作数据层,基础数据层,接口数据层,应用数据层
3.基于Hadoop/MaxCompute的分布式计算平台

 


数据整合及管理体系

模型设计
操作数据层,把操作系统数据几乎无处理的放在数据仓库中
公共维度模型层,存放明细事实数据,维表数据及公共指标汇总数据
应用数据层,存放数据产品个性化的统计指标数据,根据上两层加工而来

业界常用模型
Kimball模型
Inmon模型

 


维度设计

确定维度属性的几点提示
1.尽可能生成丰富的维度属性
2.尽可能多的给出包含一些富有意义的文字性描述
3.区分数值型属性和事实
4.尽量沉淀出通用的维度属性

事实表设计

事实表类型
1.事务事实表
2.周期快照事实表
3.累计快照事实表

事务表设计原则
1.尽可能包含所有与业务过程相关的事实
2.只选择与业务过程相关的事实
3.分解不可加性事实为可加的组建
4.在选择维度和事实之前必须先声明粒度
5.在同一个事务表中部能有多种不同粒度的事实
6.事实的单位要保持一致
7.对事实的null值要处理
8.使用退化维度提高事实表的易用性

事务事实表
淘宝交易事务事实表,关联的
店铺维度,发货地区维度,收货地区维度,买家维度,卖家维度,商品维度,类目维度,父订单维度

周期快照事实表
交易历史至今快照事实表,关联 卖家维度,业务日期
商品历史至今快照事实表,商品维度,业务日期
卖家历史至今快照事实表,业务日期,卖家维度,买家维度
卖家信用分快照事实表,卖家维度,业务日期

累积快照事实表
记录一次交易不断变化的过程

三种事实表比较

  事务事实表 周期快照事实表 累计快照事实表
时期/时间 离散事务点时间 以有规律的可以预测的间隔产生快照 用于时间快读不确定的不断变化的工作流
日期维度 事务日期 快照日期 相关业务过程设计的多个日期
粒度 每行代表实体的一个事务 每行代表某时间周期的一个实体 每行代表一个实体的生命周期
事实 事务事实 累计事实 相关业务过程事实和时间间隔事实
事务表加载 插入 插入 插入和更新
事实表更新 不更新 不更新 业务过程变更时更新


 

 


数据管

元数据

元数据分类,技术元数据,业务员数据
常见的技术元数据
1.分布式计算系统存储元数据,如MaxCompute表,列,分区信息
2.分布式计算系运行元数据,如MaxCompute上所有作业运行信息
3.数据开发平台中数据同步,计算任务,任务调度信息
4.数据质量和运维相关元数据


DataProfile,给元数据贴标签
1.基础标签,针对元数据存储情况,访问情况,安全等级
2.数仓标签,对数据是增量还是全量,是否可再生,数据生命周期
3.业务标签,根据数据归属的主题域,产品线,业务类型打标签
4.潜在标签,为了说明潜在的应用场景如社交,媒体,广告,电商,金融等

元数据门户
前台,和产品为数据地图,定位消费市场,实现检索数据
后台,产品为数据管理,定位于一站式数据管理

应用链路分析
表级血缘关系,重要性分析,下线分析,寻根分析,故障排除

计算管理

Map-Reduce人物不均衡
根据历史数据优化
根据代价的优化器

优化任务
Map倾斜
Join倾斜
Reduce倾斜


存储和成本管理

数据压缩,类似RAID方式存储数据,压缩比1:1.5,但恢复增加
数据重分布
存储治理项优化

生命周期管理
1.周期性删除策略
2.彻底删除策略
3.永久保留策略
4.极限存储策略
5.冷数据管理策略
6.增量表merge全量表策略

历史数据等级划分
P0,非常重要的主题域数据和非常重要的应用数据
P1,重要的业务数据和重要的应用数据
P2,重要的业务数据和重要的应用数据
P3,不重要的业务数据和不重要的应用数据

数据质量

数据质量保障原则
完整性
准确性
一致性
及时性

数据资产等级定义
毁灭性质,一旦出错将引起重大资产损失
全局性质,数据直接或间接用于集团级企业
局部性质,影响内部一般数产品或运营
一般性质,影响小二日常数据分析

质量衡量
数据质量起夜率
数据质量事件
数据质量故障体系


数据应用

生意参谋
看我情
看行情
看敌情

产品建设历程
临时需求阶段
自动化报表阶段
自主研发BI工具阶段
数据产品平台

整体架构
数据监控,提供给内部小二使用
数据分析,专题运营小二自助分析
应用分析,对接前台系统自动化应用分析
数据决策,高管/决策层数据辅助决策

猜你喜欢

转载自blog.csdn.net/hixiaoxiaoniao/article/details/86654545
今日推荐