简介:Dataphin,用中台方法论打造企业级好数据。Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采、建、管、用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠、消费便捷、生产安全经济的企业级数据中台。Dataphin提供多种计算平台支持及可拓展的开放能力,以适应各行业企业的平台技术架构和特定诉求。
在数据权限管控严格的研发流程下,常常会使用生产开发环境隔离的研发模式。Dataphin支持创建成对存在、互相关联的生产开发模式项目(Dev-Prod项目)。
项目中,研发人员通常需要完成代码编写、任务基础属性和调度属性配置、并基于开发环境的数据执行补数据测试,通过后再将任务提交至发布中心。发布审核人员接到发布申请后,结合任务配置详情评估是否配置合理,是否存在数据生产风险等,之后执行发布操作;发布成功的任务会在生产环境中生效并调度运行,而发布失败的任务不会更新至生产项目,以此实现开发和生产项目的数据隔离,保证数据质量。
一、发布中心概述
试想,若由发布人员对每个任务进行人工审核,工作量巨大且容易遗漏,对研发效率产生较大影响。那么理想的发布流程会是什么形式呢?
Dataphin发布中心提供了待发布任务概览、批量发布、基于系统规则的自动审核、发布记录概览、发布详情查看、发布失败原因提示及一键重新发布等功能;同时,管理中心的发布管控功能,可以自定义审核规则和策略,以满足个性化需求场景。发布人员只需评估哪些任务需要上线生产环境,批量勾选并一键执行发布即可,大大缩短了操作路径,并从系统角度提供了全面保障。
二、功能介绍
接下来,我们详细介绍一下发布中心的核心功能:
首先,在开发环境项目创建一个以“test”命名的代码任务,完成代码编写、调度配置、预编译等操作,点击操作栏的“提交”按钮,将任务提交到发布中心;提交成功后,点击任务操作栏的“去发布”按钮或者切换顶部导航为“发布”,即可进入发布中心:
1 待发布对象列表
在待发布对象列表页面,记录了当前项目已提交待发布的规范建模、数据处理和管道脚本数据对象。发布成功的数据对象将从待发布对象列表移除,并在发布记录列表中生成一条发布成功的记录;发布失败的数据对象将重新被记录在待发布对象列表,同时在发布记录列表中生成一条发布失败的记录,可以查看每条发布记录的发布详情。
- 待发布对象列表概览:列表记录了对象名称、对象类型、调度节点ID、最近1次提交发布的版本号、本次提交变更类型、提交人及提交时间等信息。发布审核人员可以基于这些基本信息,初步评估任务变更情况,作为判断是否需要发布的依据。
- 提交详情及提交记录查看:支持查看每个对象当前最新提交的版本详情及历史的提交记录,发布人员可以基于详情信息进一步评估发布该对象对生产项目可能产生的变更影响。同一个对象提交多次(每次提交均未发布)时会合并为一条待发布对象;点击当前版本号可展开版本详情,点击“版本记录”,可以查看该对象的变更记录及每次变更操作人、操作时间及变更原因备注。
- 移除及跳转编辑待发布对象:如果任务提交后需要再次变更,为了防止变更前的内容被提前发布影响生产环境数据,您可以主动移除发布对象,并在修改完成后再次提交发布。提供“编辑”对象的快捷操作入口,点击将跳转到该任务在开发模块的详情页。
- 发布及批量发布:确定可以发布后,您可以针对单个对象执行发布,也可以批量选中多个对象一次性发布。被选中的对象会按照依赖关系依次执行发布动作。点击确定发布后可自动跳转到发布记录列表,等待执行完成后,即可查看发布结果。
2 发布系统校验规则
不同发布对象有不同的校验规则。以SQL代码任务为例,会进行如下校验:
- 上游依赖配置的正确性:如果存在自依赖或上游依赖配置不完整,则会阻断发布。
- 节点输出名称是否唯一:节点输出名称是每个任务的全局唯一标识,重名校验可以避免协同操作带来的冲突问题。
- 代码中引用的资产对象是否有相应权限:如是否有创建、删除表的权限,是否有往表中插入数据的权限等,防止权限泄露引发的数据安全问题。
- SQL语法是否正确:若语法不正确,发布会被阻断,以免发布到生产环境后运行报错,影响下游数据产出。
- 发布执行是否正常:如果任务逻辑过于复杂或一次性批量过多,可能会产生发布超时问题,在此处进行提醒。
每个对象只有所有系统校验规则均通过,才能发布成功,否则会在发布详情弹框进行错误提示,引导需要执行的下一步操作,如申请权限、修改代码逻辑等等。
3 发布记录列表
发布记录列表页面记录了每一次发布的详情及发布结果:
- 发布记录概览:发布记录列表展示了每一次发布的执行详情,包括发布名称、发布对象、对象类型、发布版本、发布的变更类型、发布人及发布时间、发布状态等。
- 发布详情查看:针对每条发布记录,可以查看发布详情,评估是否符合预期;尤其是发布失败的任务,在发布详情会给出失败原因提示,发布人员可以根据提示信息联系相关开发修改后重新发布。
- 发布失败日志查看及一键重新发布:发布失败的对象,可以点击查看发布详情,发布详情中可以查看本次发布的日志记录,以获取更多的报错信息指导下一步操作;若问题已解决,可以一键重新发布,减少页面切换的操作成本。如果该对象已经被发布成功,则会提示“重新发布失败,最新版本已发布。”
- 发布管控:如果您使用了变更管控中的发布管控功能,此处还会进行发布管控规则的校验,并将校验结果展示在“静态检查”部分。发布详情中会展示命中的管控规则及校验结果,针对校验失败的,还会展示在管控规则中配置的说明文案,以提醒发布人员。
发布作为生产开发隔离的研发模式中毕竟的一道环节,为生产数据的正确性和生产环境稳定性提供了移到前置保障,可以减少人工操作失误或流程不规范引发的问题,降低了对生产业务产生影响的可能性,为您的数据建设撑起一道保护伞。
三、结语
本期介绍了Dataphin的发布功能,包括如何执行发布、如何查看发布详情并处理异常等等,想要更完整了解Dataphin的发布中心,就快来申请试用体验吧!
原文链接
本文为阿里云原创内容,未经允许不得转载。