简介:Dataphin,用中台方法论打造企业级好数据。Dataphin是阿里巴巴集团OneData数据治理方法论内部实践的云化输出,一站式提供数据采、建、管、用全生命周期的大数据能力,以助力企业显著提升数据治理水平,构建质量可靠、消费便捷、生产安全经济的企业级数据中台。Dataphin提供多种计算平台支持及可拓展的开放能力,以适应各行业企业的平台技术架构和特定诉求。

在数据权限管控严格的研发流程下,常常会使用生产开发环境隔离的研发模式。Dataphin支持创建成对存在、互相关联的生产开发模式项目(Dev-Prod项目)。

项目中,研发人员通常需要完成代码编写、任务基础属性和调度属性配置、并基于开发环境的数据执行补数据测试,通过后再将任务提交至发布中心。发布审核人员接到发布申请后,结合任务配置详情评估是否配置合理,是否存在数据生产风险等,之后执行发布操作;发布成功的任务会在生产环境中生效并调度运行,而发布失败的任务不会更新至生产项目,以此实现开发和生产项目的数据隔离,保证数据质量。

一、发布中心概述

试想,若由发布人员对每个任务进行人工审核,工作量巨大且容易遗漏,对研发效率产生较大影响。那么理想的发布流程会是什么形式呢?

Dataphin发布中心提供了待发布任务概览、批量发布、基于系统规则的自动审核、发布记录概览、发布详情查看、发布失败原因提示及一键重新发布等功能;同时,管理中心的发布管控功能,可以自定义审核规则和策略,以满足个性化需求场景。发布人员只需评估哪些任务需要上线生产环境,批量勾选并一键执行发布即可,大大缩短了操作路径,并从系统角度提供了全面保障。

二、功能介绍

接下来,我们详细介绍一下发布中心的核心功能:

首先,在开发环境项目创建一个以“test”命名的代码任务,完成代码编写、调度配置、预编译等操作,点击操作栏的“提交”按钮,将任务提交到发布中心;提交成功后,点击任务操作栏的“去发布”按钮或者切换顶部导航为“发布”,即可进入发布中心:

1 待发布对象列表

在待发布对象列表页面,记录了当前项目已提交待发布的规范建模、数据处理和管道脚本数据对象。发布成功的数据对象将从待发布对象列表移除,并在发布记录列表中生成一条发布成功的记录;发布失败的数据对象将重新被记录在待发布对象列表,同时在发布记录列表中生成一条发布失败的记录,可以查看每条发布记录的发布详情。

  • 待发布对象列表概览:列表记录了对象名称、对象类型、调度节点ID、最近1次提交发布的版本号、本次提交变更类型、提交人及提交时间等信息。发布审核人员可以基于这些基本信息,初步评估任务变更情况,作为判断是否需要发布的依据。

  • 提交详情及提交记录查看:支持查看每个对象当前最新提交的版本详情及历史的提交记录,发布人员可以基于详情信息进一步评估发布该对象对生产项目可能产生的变更影响。同一个对象提交多次(每次提交均未发布)时会合并为一条待发布对象;点击当前版本号可展开版本详情,点击“版本记录”,可以查看该对象的变更记录及每次变更操作人、操作时间及变更原因备注。

  • 移除及跳转编辑待发布对象:如果任务提交后需要再次变更,为了防止变更前的内容被提前发布影响生产环境数据,您可以主动移除发布对象,并在修改完成后再次提交发布。提供“编辑”对象的快捷操作入口,点击将跳转到该任务在开发模块的详情页。

  • 发布及批量发布:确定可以发布后,您可以针对单个对象执行发布,也可以批量选中多个对象一次性发布。被选中的对象会按照依赖关系依次执行发布动作。点击确定发布后可自动跳转到发布记录列表,等待执行完成后,即可查看发布结果。

2 发布系统校验规则

不同发布对象有不同的校验规则。以SQL代码任务为例,会进行如下校验:

  • 上游依赖配置的正确性:如果存在自依赖或上游依赖配置不完整,则会阻断发布。
  • 节点输出名称是否唯一:节点输出名称是每个任务的全局唯一标识,重名校验可以避免协同操作带来的冲突问题。
  • 代码中引用的资产对象是否有相应权限:如是否有创建、删除表的权限,是否有往表中插入数据的权限等,防止权限泄露引发的数据安全问题。
  • SQL语法是否正确:若语法不正确,发布会被阻断,以免发布到生产环境后运行报错,影响下游数据产出。
  • 发布执行是否正常:如果任务逻辑过于复杂或一次性批量过多,可能会产生发布超时问题,在此处进行提醒。

每个对象只有所有系统校验规则均通过,才能发布成功,否则会在发布详情弹框进行错误提示,引导需要执行的下一步操作,如申请权限、修改代码逻辑等等。

3 发布记录列表

发布记录列表页面记录了每一次发布的详情及发布结果:

  • 发布记录概览:发布记录列表展示了每一次发布的执行详情,包括发布名称、发布对象、对象类型、发布版本、发布的变更类型、发布人及发布时间、发布状态等。
  • 发布详情查看:针对每条发布记录,可以查看发布详情,评估是否符合预期;尤其是发布失败的任务,在发布详情会给出失败原因提示,发布人员可以根据提示信息联系相关开发修改后重新发布。

  • 发布失败日志查看及一键重新发布:发布失败的对象,可以点击查看发布详情,发布详情中可以查看本次发布的日志记录,以获取更多的报错信息指导下一步操作;若问题已解决,可以一键重新发布,减少页面切换的操作成本。如果该对象已经被发布成功,则会提示“重新发布失败,最新版本已发布。”

  • 发布管控:如果您使用了变更管控中的发布管控功能,此处还会进行发布管控规则的校验,并将校验结果展示在“静态检查”部分。发布详情中会展示命中的管控规则及校验结果,针对校验失败的,还会展示在管控规则中配置的说明文案,以提醒发布人员。

发布作为生产开发隔离的研发模式中毕竟的一道环节,为生产数据的正确性和生产环境稳定性提供了移到前置保障,可以减少人工操作失误或流程不规范引发的问题,降低了对生产业务产生影响的可能性,为您的数据建设撑起一道保护伞。

三、结语

本期介绍了Dataphin的发布功能,包括如何执行发布、如何查看发布详情并处理异常等等,想要更完整了解Dataphin的发布中心,就快来申请试用体验吧!

原文链接

本文为阿里云原创内容,未经允许不得转载。

Dataphin产品核心功能大图(六)发布中心:生产和开发隔离模式下的保护伞的更多相关文章

  1. SharePoint 2010 产品六大功能模块

    对IT专业人员来说,新的产品,意味着新的功能,IT生产力提高的契机,更加关心如何使用新产品投入更少,产出更多.在本文中我们通过对SharePoint 2010产品的功能介绍.管理中心新功能介绍.系统新 ...

  2. Chrome扩展开发之四——核心功能的实现思路

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  3. 个性化推荐产品功能的设计和B端产品的功能策划方式

    宜信科技中心财富管理产品部负责人Bob,与大家一起聊聊个性化推荐产品功能的设计和B端产品的功能策划方式. 拓展阅读:回归架构本质,重新理解微服务|专访宜信开发平台(SIA)负责人梁鑫 智慧金融时代,大 ...

  4. PPT鼠绘必须掌握的PPT绘图三大核心功能

    在PPT制作教程栏目中,陆陆续续的分享了一系列通过合并形状功能来绘图的教程,绘制安卓机器人.绘制西瓜.绘制鸡蛋.其实,合并形状功能只是PPT绘图的一部分,而真正想要掌握PPT鼠绘,仅仅是会使用合并形状 ...

  5. 源码分析 | 手写mybait-spring核心功能(干货好文一次学会工厂bean、类代理、bean注册的使用)

    作者:小傅哥 博客:https://bugstack.cn - 汇总系列原创专题文章 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言介绍 一个知识点的学习过程基本分为:运行helloworld ...

  6. ES6,ES2105核心功能一览,js新特性详解

    ES6,ES2105核心功能一览,js新特性详解 过去几年 JavaScript 发生了很大的变化.ES6(ECMAScript 6.ES2105)是 JavaScript 语言的新标准,2015 年 ...

  7. Shiro 核心功能案例讲解 基于SpringBoot 有源码

    Shiro 核心功能案例讲解 基于SpringBoot 有源码 从实战中学习Shiro的用法.本章使用SpringBoot快速搭建项目.整合SiteMesh框架布局页面.整合Shiro框架实现用身份认 ...

  8. IBM ILOG JViews Charts 产品及功能介绍

    摘抄连接:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1004_lidb_ilogjchart/ IBM I ...

  9. Lemon OA第3篇:核心功能

    对Lemon OA系统的核心功能进行梳理,分别介绍说明如下文. Portal页面 还是从用户主页开始说起: OA核心的功能就是流程,启动流程,办理流程,查看历史,3个常用功能都罗列在用户主页上,方便用 ...

  10. Linux学习-核心编译的前处理与核心功能选择

    硬件环境检视与核心功能要求 根据自己的需求来确定编译的选项 保持干净原始码: make mrproper 我们还得要处理一下核心原始码底下的残留文件才行!假设我们是第一次 编译, 但是我们不清楚到底下 ...

随机推荐

  1. 告别繁琐!1分钟带你构建RabbitMQ消息应用

    支持.Net/.Net Core/.Net Framework,可以部署在Docker, Windows, Linux, Mac. RabbitMQ作为一款主流的消息队列工具早已广受欢迎.相比于其它的 ...

  2. Android 开发day1

    下载了安卓开发软件 Android studio 下载过程中遇到了,C盘默认安装路径不匹配问题,因为我的系统文件是中文的,软件是国外的软件,导致了他不让我安装,我还是最后在C盘创建了一个文件后,直接安 ...

  3. 记录--h5调用手机摄像头踩坑

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 背景 一般业务也很少接触摄像头,有也是现成的工具库扫个二维码.难得用一次,记录下踩坑. 2.调用摄像头的方法 2.1. input ...

  4. 基础教材系列:编译原理——B站笔记

    一.编译器是什么 源程序→预处理器→经过预处理的源程序→编译器→汇编语言程序→汇编器→可重定位的机器代码→链接器/加载器→目标机器代码. 编译器的结构: 与源语言相关:字符流→词法分析器→词法单元流→ ...

  5. Android弹出UI界面---Toast

    1.默认展示 1 // 第一个参数:当前的上下文环境.可用getApplicationContext()或this 2 // 第二个参数:要显示的字符串.也可是R.string中字符串ID 3 // ...

  6. 【WCH以太网接口系列芯片】STM32+CH390+Lwip协议栈简单应用测试

    本篇文章基于STM32F103和CH390H芯片进行例程移植及相关注意事项,简单验证TCP\UDP\Ping基础功能. 硬件:STM32F103开发板+沁恒CH390H的评估版图一示,SPI使用接口为 ...

  7. std::format 如何实现编译期格式检查

    C++ 20 的 std::format 是一个很神奇.很实用的工具,最神奇的地方在于它能在编译期检查字符串的格式是否正确,而且不需要什么特殊的使用方法,只需要像使用普通函数那样传参即可. #incl ...

  8. 灵活配置 Spring 集合:List、Set、Map、Properties 详解

    使用<property>标签的value属性配置原始数据类型和ref属性配置对象引用的方式来定义Bean配置文件.这两种情况都涉及将单一值传递给Bean 那么如果您想传递多个值,例如Jav ...

  9. C# 发布你的程序包到Nuget

    1.新建一个.NET Standard 的类库项目 2.选择项目属性,在 package 栏目下填写我们的nuget包信息 3.选择我们的项目,点击"Pack" 打包 主要注意的是 ...

  10. Nacos 无法注册服务

    情况描述: Nacos服务搭建完成. 引入了Nacos的依赖. <!-- SpringCloud Alibaba 服务管理 --> <dependency> <group ...