命名规范
Yarn队列命名
-
命名应该使用 域_业务线_任务类型(可忽略)_优先级 组合而成,中间使用下划线分隔。
-
域
域
代称
简称
采购
purchase
PO
库存
inventory
INV
销售
sales
SAL
资产
asset
ASS
肖像
portrait
POR
公共
public
PUB
财务
finance
FIN
供应链
supplier
SUP
人力
hr
HR
ERP
erp
ERP
CRM
crm
CRM
审计
audit
AUD
战略
strategy
STR
经分
analysis
ANA
-
业务线
域
代称
简称
业务线
代称
简称
采购
purchase
PO
采购流程
purchase
PUR
采购
purchase
PO
采购预测
prediction
PRE
库存
inventory
INV
销售
sales
SAL
资产
asset
ASS
肖像
portrait
POR
公共
public
PUB
财务
finance
FIN
供应链
supplier
SUP
人力
hr
HR
ERP
erp
ERP
CRM
crm
CRM
审计
audit
AUD
战略
strategy
STR
经分
analysis
ANA
-
任务类型(可忽略)
任务类型
代称
任务类型
采集任务
extract
EXT
计算任务
transform
TRA
迁移任务
load
LOA
校验任务
check
CHE
通知任务
notice
NOT
-
优先级(可根据需要,保留一到三的级别,该优先级可以与DS自带的优先级匹配)
优先级
代称
简称
最高
highest
L0
高
high
L1
中等
medium
L2
低
low
L3
最低
lowest
L4
-
-
举例
采购域采购主业务计算作业应为重点作业,所以为高优先级,则队列名为:PO_PUR_TRA_L2。
资产域B业务通知任务为低优先级作业,则队列名为:ASS_B_NOT_L3。
租户命名
在未定稿规范中,租户被用以调度平台的用户组概念。
租户命名遵循内外分离,对内以任务优先级为主,对外以数据加工程度为主。
-
内部租户
内部租户按照任务重要程度暂定为3个级别:
第一级别租户为ODS层任务租户,命名为 ods,该租户可直接添加入HDFS用户组(Linux用户组),拥有等效于HDFS用户权限。
第二级别租户为数据开发任务租户,命名为 batchdw/streamdw,该租户拥有数据仓库中间层(DIM/DWD/DWD/DWS/ADS)的读写权限和贴源层(ODS)的读权限。
第三级别租户为临时介入数据开发任务租户,命名为 tmpdw_用户名, 该租户根据实际任务划分临时针对不同库、表进行授权,任务结束后禁止该用户使用。
-
外部租户
外部租户为数据使用方,命名为 ads_应用方向_使用方,该租户根据实际应用方向和使用方特定后缀访问指定的库表。
暂定应用方向:
应用方向 | 代称 |
---|---|
报表 | BI |
数据集 | SET |
接口 | API |
人工智能 | AI |
使用方:
使用方是指该租户使用的具体对象,可以使用编码形式维护对象信息。
用户命名
用户命名需与员工一对一,即一个员工分配到固定用户,使用姓名全拼大写作为用户名。该用户根据权限和用途分配到对应租户中。
项目命名
因需求现状,将项目分为两个方向,即项目需求和用途予以区分。两者使用不同前缀加以区分。
-
项目需求命名
项目需求按照ADS_项目编号进行命名,该项目视为数据项目管理 中的项目,项目编号取用优先级为:OA帮反编号>OA对应编号>迭代编号,项目编号为空,则联系@陈飞1 。
项目详细信息应当在项目描述中补充,其中必填项为:项目名称、需求文档URL、数据源表数、报表数、报表URL。
-
实际用途
实际用途项目命名按照数据加工方式和数据加工深度进行命名,即 数据加工深度_域_数据加工方式,但其中ODS层项目不关注域。
-
ODS层项目
ODS层项目根据采集方式不同建立 ODS_BATCH(描述信息为:全量或增量T+1采集)以及ODS_STREAM(描述信息为:增量实时/准实时采集)。
-
DIM层项目
DIM层项目根据数据域不同以及加工方式不同建立 DIM_域_BATCH(T+N加工(N>=1d))以及 DIM_域_STREAM (T+N加工(N<1d))。
-
DWD层项目
DWD层项目根据数据域不同以及加工方式不同建立 DWD_域_BATCH(T+N加工(N>=1d))以及 DWD_域_STREAM (T+N加工(N<1d))。
-
DWS层项目
DWS层项目根据数据域不同以及加工方式不同建立 DWS_域_BATCH(T+N加工(N>=1d))以及 DWS_域_STREAM (T+N加工(N<1d))。
-
ADS层项目
ADS层项目根据实际用途进行命名。
在开发中,PUBLIC 数据域的任务会被多个项目重复依赖,为了跨项目依赖作业,可以使用 DEPENDENT 作业类型。
工作流命名
工作流根据项目不同采用不同的命名方式。
-
项目需求的工作流
项目需求工作流具有天然边界,整体项目根据数据加工阶段分为三个工作流,即:
ADS_项目编号_EXTRACT(采集任务),描述信息需补充:采集库表链路、调度周期。
ADS_项目编号_TRANSFORM(计算/转换任务),描述信息需补充:加工报表信息、调度周期。
ADS_项目编号_LOAD(迁移任务),描述信息需补充:迁移库表链路、调度周期。
其中有部分指标需求,需要在固定时间点进行预计算,则可以考虑新增预处理任务,预处理任务命名应该明确调度周期:
ADS_项目编号_PRE_TRANSFORM_调度周期(预计算/预转换任务),描述信息需补充:加工报表信息和用途、调度周期。
(因具体业务不同,工作流不做强制约束,见名知意并补充描述信息即可。)
调度周期可参考01-数据仓库命名规范 中时间周期的命名,但是具体调度信息应当在描述中补充。
-
实际需求的工作流
ODS层项目存放的是采集任务,关注SOURCE端、SINK端和采集周期,命名参考为 SOURCE端库名-SINK端库名-采集周期。需补充描述信息:采集数据库JDBC信息、目标数据库JDBC信息。
DIM层项目存放的是维度表加工任务,命名参考为 项目名-目标表名。需补充描述信息:使用ODS表信息。
DWD层项目存放的是明细数据层加工任务,命名参考为 项目名-目标表名。需补充描述信息:使用ODS表、DIM表信息。
ADS层工作流根据实际用途进行命名。
-
ODS层项目的工作流
-
DIM层项目的工作流
-
DWD层项目的工作流
-
DWS层项目的工作流
DWS层项目存放的是指标/聚合/主题数据层层加工任务,命名参考为 项目名-目标表名。需补充描述信息:使用表信息。
-
ADS层项目的工作流
-
补充:请尽可能使用K-V结构补充描述信息
节点命名
节点命名相对宽松,这里提供一个模板供使用:
发生数据位置变化(服务级别,例如采集或迁移任务):源数据服务类型.源库名.源表名-现数据服务类型.现库名.现表名
未发生数据位置变化,但数据发生加工:数据服务类型.源库名.源表名-现库名.现表名(多表聚合则选择主表名,其他表信息补全至描述信息中)
特殊节点:该节点一般用以执行有特定功能的任务,请自我描述。
DEPENDENT 节点:依赖的作业流名。
补充:
数据服务类型并不局限于各类数据库,如果为KAFKA、SOLR等特定中间件,请根据实际SINK信息补全即可,例如 KAFKA.TOPIC_NAME。
数据源命名
数据源命名: 业务标识-数据库名-IP地址
例如:
ERP-apps-172.0.0.1
数仓-read_all-172.0.0.1
TIDB-ods_dw-172.0.0.1