本文为您介绍如何把来源环境导出的发布包文件导入至目标环境。
前提条件
权限说明
支持跨租户发布使用人导入发布包文件。
使用限制
若发布包在Dataphin 3.11及以前版本导出并导入到目标环境中,则任务中手动配置的血缘关系无法识别。若需要导出该任务配置的血缘信息,请升级到Dataphin 3.12及以上版本,重新导出发布包,再导入到目标环境即可识别手动配置的血缘信息。
导入校验项
导入发布包文件时,系统会对待导入发布包文件进行校验。校验优先级及说明如下表。
校验优先级 | 校验项 | 校验说明 |
1 | 文件完整性和发布凭证校验 | 校验导入文件是否损坏、导入文件的发布凭证与当前生产租户的发布凭证是否一致。 如果系统提示发布凭证不一致,则需设置跨租户发布参数,详情请参见跨租户发布设置。 |
2 | Dataphin系统版本一致 | 校验导入文件的生成环境(来源环境)的系统版本与发布文件的环境(目标环境)的版本号是否一致。 |
导入成功的发布包文件会自动进入待发布对象列表中,同时系统自动识别并标记其变更类型。更多信息,请参见发布包总览概述。
如果系统正在导入文件,则不支持再次导入文件的操作。
操作步骤
使用跨租户发布使用人账号登录Dataphin。
在Dataphin首页的顶部菜单栏中,选择管理中心 > 跨租户发布。
在左侧导航栏中选择跨租户发布 > 导入发布包。
在导入发布包页面,单击导入发布包。
在导入发布包页面,配置以下参数。
参数
描述
发布文件来源
系统支持选择本地文件和OSS存储文件。
OSS名称和跨租户发布设置的展示名称一致。
说明若需要从OSS上导入发布文件,需在跨租户发布设置处启用OSS存储。详情请参见跨租户发布设置。
发布文件
发布文件来源选择本地文件时,单击图标,选择已下载的发布包文件,您也可以拖动已下载的发布包文件至发布文件显示框。
发布文件来源选择OSS时,单击图标,在选择发布文件对话框中选择OSS存储目录下的文件。
重要上传的发布包文件名仅支持0-9、a-z、A-Z、中文及特殊字符
- _ . *
。
导入文件说明
填写导入文件说明。
导入校验
无需配置。系统为您展示文件的名称、产生时间、异常检查项和检查结果。检查项详情,请参见导入校验项。
单击上传发布包,上传发布包文件。
在发布包导入设置页签,配置导入策略及替换规则。
导入策略
参数
描述
全局通用
新增对象负责人
不修改:发布对象时,若来源环境中导出的对象负责人的当前目标环境存在,则使用该负责人;若不存在,可选择使用本次发布的操作人或指定某个用户作为新的对象负责人。适用于来源环境和目标环境成员基本一致的场景。
重要针对项目内的对象,若负责人不在对象所属项目内,可能造成发布失败。
统一修改为:发布包导入目标环境时,来源环境中导出的对象无论是否存在负责人,都将根据配置统一修改为本次发布的操作人或指定的用户。
研发
研发对象
支持发布到开发环境或生成环境。
发布到开发(提交):必选,Dev-Prod模式项目下的对象提交到开发环境,Basic模式下的对象提交到生产环境(同租户内发布)。
发布到生产:可选,Dev-Prod模式项目下的对象发布到生产环境(同租户内发布),若提交到开发环境失败,则不做发布。
标签
标签对象
默认发布到项目,不支持修改。
标准
需开通数据标准功能。
新增及变更标准
针对新增或变更的数据标准对象,您可选择发布到草稿或修订中和提交上线申请。
发布到草稿或修订中:必选。
若数据标准对象的变更类型为新增,则生成草稿态标准。
若数据标准对象的变更类型为更新,则根据目标环境该标准的状态执行不同的操作。
若目标环境中对象为草稿态或修订中状态,则覆盖更新已存在的标准。
若目标环境中的对象为已发布态(已生效/待生效/已失效),则以本次导入的内容为准创建一个修订中状态的标准。
提交上线申请:可选,针对成功发布到草稿或修订中状态的数据标准,自动执行提交上线操作,并根据跨租户发布设置中的标准审批配置生成对应的审批任务。
说明如果需要生成审批任务,则任务生成失败也会导致发布失败。
仅生产状态的标准支持配置映射关系,建议您先在目标环境发布导入的数据标准,再导入映射关系。
落标映射规则
针对导入目标环境的落标映射规则的生效状态,支持选择保留当前环境生效状态,仅更新规则配置(以目标环境生效状态为准)或覆盖更新当前环境规则的配置及生效状态(以来源环境生效状态为准)。
映射关系
针对导入的映射关系在当前目标环境中是覆盖或追加的处理策略。
覆盖:会先清空当前目标环境下映射关系并新增来源环境的映射关系;适用于两边环境完全一致的场景。若映射规则执行则可能会更新映射结果。
追加:保留目标环境已有的映射关系并追加新的映射关系,可能导致来源环境已删除的映射关系在目标环境无法被删除,导致两个环境的映射关系不一致。适用于增量更新的场景。
有效映射冲突处理
当映射关系为追加时,支持配置。
针对导入的有效映射关系在当前目标环境中是无效映射的场景,支持将“无效映射”置为“有效映射”或保留“无效映射”,跳过不更新。
将“无效映射”置为“有效映射”:将目标环境中的无效映射关系置为有效映射,若目标环境中无效映射关系删除失败,则无法发布;适用于以来源环境配置为准的场景。
保留“无效映射”,跳过不更新:保留目标环境中的无效映射,适用于以目标环境配置为准的场景。
无效映射冲突处理
当映射关系为追加时,支持配置。
针对导入的无效映射关系在当前目标环境中是有效映射的场景,支持将“有效映射”置为“无效映射”或保留“有效映射”,跳过不更新。
将“有效映射”置为“无效映射”:将目标环境中的有效映射关系置为无效映射,若目标环境中有效映射关系删除失败,则无法发布;适用于以来源环境配置为准的场景。
保留“有效映射”,跳过不更新:保留目标环境中的有效映射,适用于以目标环境配置为准的场景。
词根名称重复处理
词根以词根名称作为对象唯一标识,针对导入的词根在当前目标环境的名称重复的处理策略,支持重复则覆盖更新或重复则跳过不更新。
重复则覆盖更新:以来源环境的词根名称为准覆盖更新目标环境的词根。
重复则跳过不更新:保留目标环境的词根名称,跳过不更新。
质量
需开通数据质量功能。
监控对象内容导入
支持追加和覆盖策略。
追加:仅发布新增、变更的规则和调度(重名冲突时会自动重命名),但不会发布删除类型的规则和调度;且不会覆盖归档表(已配置情况下)和查看权限设置;适用于增量更新的场景。
覆盖:会先清空当前目标环境下监控对象已有的规则和调度并新增来源环境的规则和调度;同时会覆盖归档表和查看权限设置;适用于需要两边环境完全一致的场景。
生效状态设置
支持保留当前环境和覆盖当前环境。
保留当前环境:保留当前目标环境的监控对象的生效状态和质量规则的生效状态。
覆盖当前环境:使用发布包的监控对象的生效状态和质量规则的生效状态覆盖当前目标环境。
告警导入
支持保留当前环境和覆盖当前环境。
保留当前环境:保留当前目标环境的告警接收人和值班表等配置,适用于当前目标环境单独配置的场景。
覆盖当前环境:覆盖当前目标环境的告警接收人和值班表等配置,适用于需要两边环境完全一致的场景。
依赖数据不存在
导入的对象所依赖的数据不存在时,可选择强制发布或发布错误。
强制发布:忽视依赖,直接发布到当前目标环境。后续需要编辑或解决依赖问题后才可以正常校验。
发布报错:依赖对象不存在时,监控对象发布报错,需要解决依赖问题后才可以发布。
安全
需开通数据安全功能。
新增密钥
针对变更类型为新增的密钥,密钥值支持选择导入原值、系统自动生成或系统生成的密钥自动刷新,手动生成的密钥导入后手动更新。
导入原值:将来源环境的密钥值导入到当前目标环境直接使用;适用于来源和目标环境使用方一致的场景。
系统自动生成:自动重新生成所有新增密钥的密钥值。
系统生成的密钥自动刷新,手动生成的密钥导入后手动更新:自动刷新由系统自动生成密钥的密钥值,手动生成的密钥需要在导入后手动设置。
已有密钥
针对目标环境中已经存在的密钥,以当前目标环境的密钥值为准,跳过不更新。
识别结果
针对导入目标环境的识别结果进行过滤,支持仅导入手动指定结果或导入所有识别结果。
仅导入手动指定结果:导入来源环境中手动指定的识别结果,包括Excel批量上传的识别结果和手动添加的识别结果。
导入所有识别结果:支持将来源环境导出识别结果全量导入。
手动识别结果冲突
针对来源环境和目标环境生效的都是手动识别结果,且来源环境的手动识别结果和当前目标环境的手动识别结果冲突时的处理策略,支持保留当前环境或覆盖当前环境。
保留当前环境:忽略来源环境中的手动识别结果,跳过不更新。
覆盖当前环境:先删除目标环境与来源环境冲突的手动识别结果,再新增一条和来源环境的手动识别结果相同的手动识别结果。
说明针对来源环境生效的是手动识别结果,目标环境生效的是自动识别结果,将来源环境结果导入到目标环境后统一仲裁最终的生效结果。
自动识别结果
针对来源环境和目标环境生效的都是自动识别记录,且来源环境的自动识别结果和目标环境的自动识别结果冲突时的处理策略,支持追加、覆盖或覆盖并锁定。
追加:将来源环境的自动识别结果追加到目标环境中,作为一条识别记录,导入时统一仲裁,生成最后的识别结果。该模式下,来源环境和目标环境最终的识别结果可能不一致。
覆盖:先删除目标环境所有的识别结果,再新增一条和来源环境的自动识别结果相同的自动识别结果,但不锁定该结果;仅保证导入时来源环境和目标环境的识别结果一致,下次自动识别时可能被更新。
覆盖并锁定:先删除目标环境所有的识别结果,再新增一条和来源环境的自动识别结果相同的自动识别结果,同时锁定该结果;锁定后不可被目标环境后续生成的其他自动识别结果更改。
说明针对来源环境生效的是自动识别结果,目标环境生效的是手动识别结果,将来源环境结果导入到目标环境后统一仲裁最终的生效结果。
替换规则
数据源
来源环境和目标环境的属性配置一般都不同,因此在发布前,您可使用数据源替换规则功能设置替换规则,将数据源的配置批量替换成目标环境的配置。数据源对象发布时,将按顺序使用匹配的第一条规则进行属性的替换。
单击+新建替换规则,进行新增替换规则。
说明仅支持设置最多100条替换规则。
替换规则的生效范围:仅针对新增及变更类型的数据源。
在设置替换规则对话框中,配置替换规则。
配置规则步骤
描述
一. 选择替换数据源的范围
设置数据源类型。
选择您需替换数据源对象属性的数据源类型。如MaxCompute。
添加圈选规则。
单击+添加规则并在新增的规则项中配置您的替换规则。替换规则之间支持且运算。
配置圈选范围。
设置规则配置项。
配置项根据数据源类型不同,支持不同配置项类型,请以实际操作为准。如MaxCompute支持数据源名称、负责人、Endpoint、Project Name、Access ID进行范围圈选。
设置匹配条件。
各配置项支持的匹配条件:支持精确匹配、不匹配、包含、不包含、开头是、结尾是、为空、不为空、空文本、非空文本。
说明负责人仅支持属于。
二. 设置替换的配置项及替换值
配置生产环境和开发环境的替换配置项。
单击新建配置项替换规则。
在新建的配置项中配置替换规则。
替换配置项根据数据源类型不同,支持不同替换配置项类型,请以实际操作为准。如MaxCompute支持Endpoint、Project Name、Access ID、Access key。
设置匹配规则。
匹配方式支持全文、文本匹配、正则表达式。大小写敏感。
说明正则表达式使用Java语言规范。更多信息,请参见Java正则表达式指南。
设置替换文本。
在输入框输入用于替换的文本。
单击保存,完成数据源替换规则配置。
完成数据源替换规则配置后,进行数据源对象发布时,支持查看规则匹配数据源详情并对同名同类型的数据源进行映射操作。更多信息,请参见映射已有数据源。
重要所设置的规则将按照由上而下顺序进行替换。
调度资源组
调度资源组列表将为您展示发布包中包含的项目(不包括变更类型为删除的项目),您可以在调度资源组列表中设置项目导入后资源组。
说明仅支持基于最新架构部署的Dataphin实例支持调度资源组替换。
发布包中任务所在项目在发布包中不存在时,也将为您展示。通常为任务所设置的调度资源组未包含在目标项目中,您需要指定替换规则。
发布包中项目为租户默认资源组时,不支持变更,导入后资源组默认为租户默认资源组。
离线物理表
离线物理表发布时,可对表DDL,如外部表的location URL做替换。系统自动复制最近一次导入发布包的所有替换规则(不区分生效状态),复制的规则默认置为关闭状态。
单击+新建替换规则,打开新建替换规则对话框。
在新建替换规则对话框中,选择替换离线物理表的范围、设置替换的配置项及替换值。
选择替换离线物理表的范围(非必填)
单击+添加规则,选择配置项。可选择为项目名称或表名称。
选择操作符。若配置项选择项目名称,则操作符仅支持属于;若配置项选择表名称则操作符可选择为开头是、结尾是或正则匹配。
输入或选择值。若配置项选择项目名称,则支持选择一个或多个值;若配置项选择表名称,则需要手动输入值。
说明未设置任何范围规则时,则默认对所有离线物理表生效。
多个规则间为且关系,不可修改。
若导入的发布包中,离线物理表命中组合后的规则,则按照替换规则进行替换。
设置替换的配置项及替换值
单击新建配置项替换规则,新建一条空白规则。
配置规则的替换配置项。可选择DDL语句整体或Location URL。
DDL语句整体:替换来源为离线物理表的整体变更DDL。
Location URL:替换来源为离线物理表DDL中的location子句。
说明在
create external table table_name (...) location '{hdfs://...}'
中,{hdfs://...}
即location URL。在
alter table table_name set location '{hdfs://...}'
中,{hdfs://...}
即location URL。
配置匹配规则。选择文本匹配或正则表达式,并输入相应文本或正则表达式。
输入新配置项。根据匹配规则输入相应替换值,输入内容最大长度不超过512 位。
当匹配规则为正则表达式时,替换值支持正则替换表达式(需要支持反向引用)。
单击预览替换效果,在预览替换效果对话框中输入原始DDL后,单击替换,系统将自动执行替换规则并生成替换后的DDL。
说明每个导入发布包将导入最近一次发布包的所有离线物理表替换规则(不区分生效状态)。导入后,生效状态默认为关闭。
单击保存或保存并发布,即可开始发布对象。
后续步骤
目标环境导入发布包后您可在发布包总览页查看发布包内的待发布对象和发布状态等信息,并进行待发布对象的发布和管理。更多信息,请参见发布包总览概述。