数据中台
相对前台与后台
相比数据仓库而言 数据仓库以数据为驱动自下而上设计 数据中台以业务为驱动 自上而下设计
数据仓库和传统的数据平台,其出发点为一个支撑性的技术系统,即一定要先考虑我具有什么数据,然后我才能干什么,因此特别强调数据质量和元数据管理;而数据中台的第一出发点不是数据而是业务,一开始不用看你系统里面有什么数据,而是去解决你的业务问题需要什么样的数据服务
数仓分层
层级
说明
描述
ODS
原始数据层
存放未经过处理的原始数据至数据仓库系统,结构上与源系统保持一致,是数据仓库的数据准备区。
CDM
公共维度层
存放明细事实数据、维表数据及公共指标汇总数据,其中明细事实数据、维表数据一般根据ODS层数据加工生成;公共指标汇总数据一般根据维表数据和明细事实数据加工生成。
ADS
数据应用层
面向实际的数据需求,直接给业务人员使用,组成统计报表等
OneData
数据域
指面向业务分析,将业务过程或者维度进行抽象的集合 其中 业务过程可以概括为一个个不可拆分的行为事件 在业务过程之下 可以定义指标;维度是指度的环境,如买家下单事件,买家是维度。为保障整个体系的生命力,数据域是需要抽象提炼,并且长期维护和更新的,但不轻易变动,在划分数据域时 既能涵盖当前所有的业务需求,又能在新业务进入时无影响地被包含进已有的数据域中和扩展新的数据域。
业务过程
如电商业务中的下单、支付、退款等都属于业务过程,业务过程是一个不可拆分的行为事实,就是企业活动中的事件。
时间周期
就是统计范围,如近30天、自然周、截止到当天等。
修饰类型
比较好理解的如电商中支付方式,终端类型等。
修饰词
除了维度意外的限定词,如电商支付中的微信支付、支付宝支付、网银支付等。终端类型为安卓、IOS等
度量/原子指标
不可再拆分的指标如支付金额、支付件数等指标
维度
维度是度量的环境,用来反映业务的一类属性,这类属性的集合构成一个维度,也可以称为实体对象。如地理维度、时间维度。
维度属性
隶属于一个维度,比如时间维度中的年、季、月等内容。
派生指标
原子指标+修饰词+时间周期就组成了一个派生指标。
使用指南
研发:
进行集成、开发、萃取、发布、运维
集成:支持各组件创建pipeline离线管道周期任务双向传输数据
开发:在生产/开发环境里进行建模开发以及即席查询
发布:开发环境中的逻辑、调度编写完成后将草稿提交至生产环境中
运维:统计、管理、监控中台任务与实例
资产:
提供目录,可搜索查看所有数据表、指标、字段、数据源、函数等
服务:
可提供API服务等
规划:
数据架构、项目管理、计算源、数据源管理 · 、公共定义(函数变量)·
管理中心:
管理账户、计算引擎等
开发流程
需求-数据源-同步任务-计算任务-集成-需求反馈
需求:仔细对接需求并记录
数据源:公网申请白名单后配置数据库信息
选择数据源类型
按规范制定数据源名称
确认连接信息、schema、用户名、密码 并记录
申请归属项目权限(否则生产环境会报错)
创建源表
ods层:s_表名
同步任务:数据库元数据上云/pipe上传手工表
编码格式
普通sql脚本
imp_任务输出表名
源库名称
增量全量:筛选条件 字段=${bizdate}
分区字段: ds=${bizdate}
调度配置 :日期 参数 依赖
-上游
虚拟节点 有根节点 可自己建
依赖表 可自动解析 依赖表需要dev环境有表且已发布才可以解析到
-下游自己 手动加上项目空间
测试检查任务能否成功调度
规范建模:无代码逻辑开发
维度逻辑表:
维度逻辑表与维度一一对应,是通过丰富维度中的属性信息构建形成的。
事实逻辑表:
事实逻辑表与业务过程对应,是通过丰富业务过程的属性及度量信息构建形成的。
原子指标:
原子指标指的是基于业务过程的度量值,顾名思义是不可以在进行拆分的指标。
业务限定:
业务限定用于圈定统计的业务范围。
派生指标:
某一业务活动中业务状况的数值统计指示器,通常由原子指标 + 时间周期 + 一个或多个修饰词组成。
汇总逻辑表:
面向用户提供了以统计粒度为主题的所有指标
举例: 要求得到12月某商店购买过牛奶的消费金额最高的十个人的id、名字、性别、年龄
维度逻辑表:会员表、性别表、年龄表
事实逻辑表 :订单表
原子指标:消费金额
业务限定:12月、买过牛奶
派生指标:买牛奶的人在12月内的消费金额总和
汇总逻辑表:性别维度、年龄维度
计算任务:代码逻辑开发
在Prod和Dev环境中建表使调度可以自动解析
规范表名命名和字段类型 create字段顺序要和select字段顺序一致 原因:insert
命名前:sql_表名
计算任务需要提交发布至生产环境中
设置参数、调度时间、上游依赖和根依赖、输出对象
提交发布 上下线皆需要
集成:将生成的ads表推送至数据库
创建脚本
命名pipeline_
添加组件
把组件连线
确定输入输出
输入:步骤名称前加pipeline 后加 input
输出:步骤名称前加pipeline 后加 output 数据源为输送的库
解析方案准备语句 填好
truncate table ads_qqd_yz_md_mbr_label --删掉表 适用于每天取全部最新状态的
delete from ads_qbi_qqd_mbr_shop_clvl_1d --适用于每天增加当天数据的
where ds = '${bizdate}'
映射关系
调度配置 :日期 参数
依赖:
上游ads/虚拟节点
下游 自己写全称 项目空间名称.pipeline名称
测试检查数据量
取数:将生成的ads表制成excel
配置环境:将d:\jdk1.7.0_21.7\bin加入到系统环境变量中
修改odpscmd_public_May\conf\odps_config.ini
project_name=lushang_group_ods
access_id=xxxxxxxxxxxxxxxxxxxxxxxxx
access_key=xxxxxxxxxxxxxxxxxxxxxxxxx
end_point=xxxxxxxxxxxxxxxxxxxxxxxxx
1.建立临时表
create table lushang_group_ods.tmp_xxxxxxxxxxx as
2.点开odpscmd_public_May\bin\odpscmd.bat 执行命令
tunnel download lushang_group_ods.tmp_ads_qqd_yz_zb_label xxxxxxx.csv -c GBK -h true;
--更多参数参考中台download命令
运维流程
每周查看生产环境中的周期实例是否调度异常 根据运行日志 联系负责人
补数据实例-设置时间(不超过一年)与并行
重要任务可设置告警及时通知
版权归原作者 和光同辰 所有, 如有侵权,请联系我们删除。