详情页标题前

阿里云大数据开发治理平台 DataWorks场景1:包含离线同步节点的业务流程,如何配置调度依赖-云淘科技

详情页1

DataWorks的离线同步节点不支持通过自动解析自动添加调度依赖,包含离线同步节点的业务流程,如果下游节点依赖离线同步节点产生的表,您需手动添加产出表到离线同步节点的输出中,下游节点查询离线同步节点数据时,自动解析可以通过表快速找到产出该表数据的离线同步节点。

易错点

如果您没有将离线同步节点的产出表手动添加到离线同步节点的输出中,自动解析无法找到此离线同步节点,提交引用此离线同步节点的SQL节点时,会出现如下错误提示。阿里云大数据开发治理平台 DataWorks场景1:包含离线同步节点的业务流程,如何配置调度依赖-云淘科技
出现此种错误主要是下游节点中自动解析出来的上游依赖,无法匹配找到对应的上游离线节点,详细原因分析可参见易错原因详解。为避免此类易错点,建议包含离线同步节点的业务流程中,调度依赖配置参考以下两种方式进行配置:

  • 配置方法1:手动将离线节点产出表添加为本节点产出
  • 配置方法2:离线节点名称与产出表名称保持一致

配置方法1:手动将离线节点产出表添加为本节点产出

通过上述报错原因分析可见,如果要避免此类错误需保障下游节点自动解析出来的上游依赖,被添加至上游节点的本节点的输出中。因此,在完成上述几个步骤后,您可以在离线节点的调度配置页面,手动将产出表添加为节点输出,如下图所示。阿里云大数据开发治理平台 DataWorks场景1:包含离线同步节点的业务流程,如何配置调度依赖-云淘科技

配置方法2:离线节点名称与产出表名称保持一致

根据上述流程描述可知:

  • 创建离线同步节点时,会为节点自动生成一个命名规则为projectname.nodename的本节点的输出。
  • SQL节点引用离线节点产出表时,会为SQL节点自动生成一个命名规则为projectname.tablename的依赖的上游节点。
  • 为避免报错,需要保障SQL节点中依赖的上游节点名称和离线节点的本节点的输出名称一致。

因此,您可以将离线节点的节点名称(nodename)和离线节点产出的表名称(tablename)保持一致,满足提交节点时不会报错。


说明 自动生成的projectname.nodename的本节点的输出是在创建节点时生成的,节点创建完成后,如果修改节点名称,已自动生成的projectname.nodename的本节点的输出不会随之改变名称。因此本方法仅适用与创建离线节点时使用,后续修改节点名称与产出表名称一致的场景无法解决本文说明的问题。

易错原因详解

包含离线同步节点的业务流程,以下图为例,常见节点创建和依赖配置操作如下:阿里云大数据开发治理平台 DataWorks场景1:包含离线同步节点的业务流程,如何配置调度依赖-云淘科技

步骤序号 步骤详情 调度依赖配置结果
1 根据业务流程规划,创建各节点。

以上图为例,即创建虚拟节点、离线同步节点、ODPS节点。

在DataWorks中创建节点后,DataWorks自动为各节点生成两个本节点的输出的配置信息,其中一个本节点的输出名称的后缀为_out,一个本节点的输出名称为projectname.nodename
以上图中的离线节点user_1为例,创建节点后,节点即有:

  • 一个名称为*******_out的本节点的输出。
  • 一个名称为doctest.user_1的本节点的输出。
2 根据业务流程规划,为各个节点拉线,明确各节点的运行逻辑顺序上的上下游依赖关系。 在业务流程页面为各节点拉线后,DataWorks根据拉线的结果,自动为各个父节点添加依赖的配置信息。

以上图中的ODPS节点sql_1为例,拉线完成后,离线节点user_1在sql_1的上游,DataWorks自动将user_1的名称为*******_out的输出添加为sql_1的依赖的上游节点。

3 为各节点开发任务代码。 在各个节点中开发任务代码时,DataWorks会根据业务代码自动解析,通过代码中的部分输入、输出命令,自动为节点添加本节点的输出或依赖的上游节点。

以上图中的ODPS节点sql_1为例,如果sql_1节点需要取用离线节点user_1产出的表table_1的数据时,例如出现了类似select * from table_1这类的语句,DataWorks会自动为sql_1添加一条依赖的上游节点,且自动添加的父节点输出名称的命名规则为projectname.tablename,本示例即为doctest.table_1

完成上述步骤后,如果您没有关注到离线节点无法自动解析,为离线节点自动将输出表添加为节点的本节点的输出,您直接提交业务流程节点时,系统会报错,提示您依赖的父节点输出名不存在。阿里云大数据开发治理平台 DataWorks场景1:包含离线同步节点的业务流程,如何配置调度依赖-云淘科技
出现此种错误的原因是:

  • 由于离线节点不支持自动解析,所以离线节点的产出表table_1没有被自动添加为离线节点的本节点的输出。即离线节点user_1没有doctest.table_1这条输出。
  • 离线节点的下游节点sql_1因为自动解析,添加了一条命名规则为projectname.tablename的依赖的上游节点,本示例即为doctest.table_1,但是由于doctest.table_1没有作为user_1的输出,所以sql_1中添加的这条父节点依赖无法匹配到user_1的节点ID。
  • 提交sql_1节点时,系统检测到sql_1有doctest.table_1这个上游依赖,但是因为这条上游依赖没有关联到节点ID,系统无法通过这条依赖找到对应的上游节点,出现报错,提示依赖的父节点输出名不存在。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/168081.html

(0)
上一篇 2023年12月10日 上午10:47
下一篇 2023年12月10日 上午10:49
详情页2

相关推荐

  • 阿里云日志服务SLSPullData-云淘科技

    调用PullData接口获取指定游标(Cursor)位置的日志数据。 接口说明 获取日志时必须指定Shard。 目前仅支持读取Protocol Buffer格式数据。 请求语法中Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。 已创建并获取AccessKey。更多信息,请参见访问密钥。 阿里云账号Access…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云大数据开发治理平台 DataWorksUpdateFolder-云淘科技

    调用UpdateFolder更新文件夹的信息。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 UpdateFolder 要执行的操作。 FolderId String …

  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS功能概览-云淘科技

    本文介绍日志服务新版告警的主要功能。 类别 子类 功能点 说明 告警监控 基础能力 查询和分析日志 您可以使用日志服务的查询语法和标准的SQL92语法,执行查询和分析操作。更多信息,请参见基础语法。 查询和分析时序数据 您可以使用标准的SQL92语法和PromQL语法,执行分析操作。更多信息,请参见时序数据查询分析简介。 机器学习 您可以使用预测、异常检测、…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS编辑模式-云淘科技

    您可以在仪表盘的编辑模式下,进行添加图表、调整布局、编辑图表、导入图表、修改仪表盘名称等操作。 前提条件 已创建仪表盘。具体操作,请参见创建仪表盘。功能入口重要 编辑模式下的所有操作,都必须保存后才会生效,即在仪表盘页面的右上方单击保存。 仪表盘为网格布局或自由布局时,所支持的操作略有不同,以实际界面为准。 登录日志服务控制台。 进入仪表盘页面。 在Proj…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云日志服务SLS添加多Y轴线图-云淘科技

    当您需要在一个线图中添加不同种类或不同数量级的数据时,可在线图中添加多Y轴。本文介绍添加多Y轴线图的操作步骤。 前提条件 已创建仪表盘。具体操作,请参见创建仪表盘。 已采集网站访问日志到目标Logstore。具体操作,请参见数据采集概述。 已配置索引。具体操作,请参见创建索引。 资源信息与数据样例 公司A将其网站访问日志存储在名为website_log的Lo…

    阿里云日志服务SLS 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。