开启自动解析时,为保障生产数据产出无误与节点并变更操作过程可控,在节点发布流程中,需要对节点调度变更相关操作进行二次确认,提交节点时将基于代码中表血缘解析当前节点的输入与输出。您可根据代码解析结果,确认节点的上下游依赖是否正确。
背景信息
如果在提交节点时,当前版本的调度依赖(自动解析结果结合您在调度配置 > 调度依赖区域自行修改的输入输出结果)与开发环境或生产环境该节点的调度依赖不一致时,将出现输入输出变更提示(当前最新版本与上个版本比较,新增或删除了哪些输入或输出)。您可以选择是否使用新的解析结果,基于当前节点最新版本的调度依赖继续提交该节点,节点提交后,最新的解析结果将自动添加至调度配置 > 调度依赖区域。
未开启自动解析的情况下,您可以根据业务实际需要来自定义节点调度依赖,通过节点版本对比来对比调度依赖相关变更。
使用限制
目前暂时不支持对跨周期依赖进行对比,若存在跨周期依赖,请在提交前进行确认依赖是否符合预期。
如何确认是否使用新的解析结果
节点提交时,若发现节点当前调度依赖解析与生产环境节点调度依赖关系配置存在差异,请确认该节点当前的调度依赖是否符合业务需要,避免由于依赖关系变更导致产出数据出现问题。
-
若当前节点存在众多下游任务时,可能会产生较大影响,请明确业务场景后再谨慎操作。
-
以下主要考虑依赖变更操作对生产正常调度的任务影响。
节点依赖的上游变更影响示例
当前节点提交时与生产环境该节点的调度配置比较,发现缺少了输入名A(即上游节点输出名为A),此时,您需要确认当前节点的调度依赖是否配置正常。若该节点代码中配置了依赖A表的数据,但未将产出A表数据的节点作为当前节点依赖的上游,则可能会出现A表数据未产出,当前节点便开始执行,最终导致当前节点产出的表数据出现问题。在代码解析结果对比弹窗中,顶部黄色警告栏提示"该节点开启了自动解析,请您确认代码解析结果"。弹窗包含上游节点输出名(6 项差异)和本节点输出名(3 项差异)两个页签。在上游节点输出名页签下,分别展示上次保存、开发环境、生产环境三列的对比结果:ods_log_info_d1 为新增项,ods_log_info_d 为删除项,三个环境的变更一致,其中生产环境对比以橙色边框突出标识。
节点产出的表变更影响示例
当前节点提交时与生产环境该节点的调度配置比较,发现缺少了本节点输出名B,此时,您需要确认节点产出的表是否有变更。若该输出已存在下游依赖,请确认是否将会对下游节点造成不可预估的影响。在代码解析结果对比弹窗中,切换至本节点输出名页签,可查看与开发环境及生产环境的对比差异。例如,与开发环境有3项差异:新增workshop0423.dw_user_info_all_d1,删除workshop0423.dw_user_info_all_d和workshop0423.dw层;与生产环境有2项差异:新增workshop0423.dw_user_info_all_d1,删除workshop0423.dw_user_info_all_d。右侧本节点的输出面板显示,被删除的输出名workshop0423.dw_user_info_all_d已被下游节点rpt_user_inf_o_d(节点ID:700003444850)通过自动解析方式依赖,表示该输出变更将影响下游依赖关系。确认后可单击使用新的解析结果完成变更。当节点存在下游依赖时,此时删除该节点输出可能导致该rpt下游节点变为孤立节点无法正常调度,或取数出现问题,详情可参考删除或变更节点输出的影响。变更节点输出名时,系统弹出重要提醒对话框,列出在开发环境和生产环境中依赖原输出名的节点,并警告本次变更可能导致下游节点成为孤立节点而无法正常调度,单击确认可修改输出名并继续提交节点。
当您确认采用新的解析结果时,由于删除了存在下游依赖的节点输出,您需要对其影响进行确认,并谨慎操作!