阿里服务平台

阿里服务平台,第1张

阿里服务平台

数据开发治理平台 DataWorks

大数据开发治理平台 DataWorks基于MaxCompute/EMR/Hologres等大数据计算引擎,为客户提供专业高效、安全可靠的一站式大数据开发与治理平台,自带阿里巴巴数据中台与数据治理最佳实践,赋能各行业数字化转型。每天阿里巴巴集团内部有数万名数据/算法工程师正在使用DataWorks,承担集团99%数据业务构建。

1.飞书使用 hologres 数据库和 maxcompute数据库 一样 是往里面同步的,原因是maxcompute比 hologres 性能好           dataworks 引擎链接  maxcompute 数据库

2.mc 迁移      dataworks 平台 / MaxCompute数据同步方式 

1.数据开发--跑代码  2.  数据集成同步数据    

cickhouse 数据库性能内存满足不了往hologres 上迁

vertica 老数据系统

3.数据来源 爬虫 mysql oss系统

oss 系统 mysql 的数据 python 爬虫抓取的数据 会统一 汇总到 vertica 老系统中--------老数据来源

ods 元数据  dwd 明细+轻度维度对维  dws 轻度维度和指标汇总  ads  数据应用------- 每层应用重点

ods层规范
分三种情况
1.    从vertica拉取数据,此方案非长期方案,使用此方要有对应的oss替换方案,owner是三大域负责人
a.    全量,分区字段dt=昨天,每天包含全量数据,表名结尾不带add
b.    增量,分区字段dt=业务日期,每天包含当天业务数据,表名结尾带add
2.    从MySQL拉取数据,MySQL数据源确认为备库,owner是三大域负责人
a.    全量,分区字段dt=昨天,每天包含全量数据,表名结尾不带add
b.    增量,分区字段dt=业务日期,每天包含当天业务数据,表名结尾带add
3.    从oss上拉取的
a.    csv格式,保留现状,owner是三大域负责人:
i.    按照主键去重取最近N天最新数据,
ii.    根据某些字段先删后插,
iii.    直接插入
b.    json格式:分三层表,odsopr,odspre,ods三个表。
i.    odsopr外部表:字段名:json_source,分区字段:table_name,统一使用报表名:odsopr_渠道名,如odsopr_reddit,生命周期:永久。配套加分区任务,和表名一致,此任务增加当天新增的分区,若后续增加新表则需要增加对应的分区。如任务odsopr_reddit所示。这一步主owner为朱松松,backup李开元、黄保宏
ii.    odspre:包含字段:现阶段json包含的字段+extra(保存未来新增的字段,去除已经解析的字段),生命周期10天。这一步主owner为朱松松,backup李开元、黄保宏
iii.    ods:包含字段:现阶段json包含的字段+extra(保存未来新增的字段,去除已经解析的字段),对应会做更新逻辑如根据某些建先删后插,直接插入,根据主键取最新插入,非全量生命周期根据业务定,全量7天。这一步owner是三大域负责人。

dwd层规范
1.    dwd层是基于ad_id+维度组成明细数据,如fb的明细表dwd_fb_adinsights_agegender_hh_add、dwd_fb_adinsights_country_hh_add、dwd_fb_adinsights_platformdevice_hh_add。
2.    除非是新增业务过程,新增的字段默认要增加到已存在的明细表里,不能同一个ad_id+维度出现两张表,比如违规广告相关,应该存在于三个明细表里,添加个字段标示是否违规即可,或者在维度表里标示下游通过维度表取,要根据业务特性和数仓模型特点决定。
3.    以fb为例,现在有三种明细数据,三种明细数据是越来越丰富的,所有数据都是基于这三种明细数据进行开发。
a.    账户层级消耗数据包含全渠道,dwd_pub_account_daily_spend
b.    ad_id+维度数据,dwd_fb_adinsights_agegender_hh_add、dwd_fb_adinsights_country_hh_add、dwd_fb_adinsights_platformdevice_hh_add
c.    账单消耗数据,dwd_pub_soa_invoice_add
dim层规范
1.    维度数据是全公司统一,从业务过程中抽象出来,即可从ods层抽象,也可从dwd层数据抽象。
2.    dim层开发要遵循易用性、通用性、杜绝二义性、空值统一原则
a.    易用性,下游可以直接使用维度表,不需要经过加工,如下游通过replace函数或者row_number使用的,就是不满足这个规范,如果下游使用在意SCD,则按照缓慢变化维的规范设计维度表。
b.    通用性,若某个字段时针对某个业务场景,则不需要加到dim层里面,比如最近7天消耗是否超过5w,则需要放到ads层。
c.    杜绝二义性,若不同维度表有相同字段,需要保证字段值一致,业务含义相同。

dws层规范
?    汇总层规范如下,dwd->dws ad_group粒度汇总层->dws campaign粒度汇总层->ads层。如dwd_fb_adinsights_country_hh_add->dws_fb_adinsights_country_adgroup_hh_add->ads_fb_adinsights_country_campaign_hh_add,所有fb相关数据都是基于dwd或者dws层,若基于ad_id关联取ad_id粒度级别的维度如ad_type的需求,需要从dwd出数据,其余一律从dws汇总层出。
?    dws层维护,如果缺少字段,分两种情况,
?    若不常用则需要通过dws关联维度表取出字段,将数据放到ads层。
?    该字段经常使用,怎么判断经常使用?数仓开发人员在开发ads,若上一步发现很多ads层表(>=5个)都用到了某个字段,则需要抽象到dws层,作为公用的字段。
?    dws层怎么和ads层区分?ads层是专门应用某个业务场景的,别的场景不会依赖,若ads层的重复使用越来越多,则需要抽象ads层数据到dws层。可以这样理解,dws层是基于ads层抽象出来的,而ads层是数仓在业务积累过程中必须要的阶段,先有再抽象。
ads层规范
1.    默认不提供ad_id粒度的应用表
2.    到ad_id粒度的明细数据需要产品、业务方说明具体原因、业务目标,需要经过域owner确认。
    对外提供的ad_id粒度数据,ads层默认只有一个(之前石成翠开发的三张明细数据),若字段不足,则需要往上添加。明细数据考虑进行拆分,通过四大行业进行拆分?产品需要向业务方announce以下共识:明细数据不保证数据查询速度。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5698592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存