【DAYU数据开发】跨空间作业依赖调度

举报
tx 发表于 2020/06/22 10:20:57 2020/06/22
【摘要】 适用场景:当客户需要按照空间划分权限,不同空间用户只能操作开发本空间的作业,但是空间之间的作业需要存在依赖关系。方案说明:DAYU数据开发可以支持事件触发的方式运行,因此通过DIS或者MRS KAFKA作为作业依赖纽带,可以跨空间做作业依赖。如下图,工作空间1中的JOB-1运行完成后,可以使用DIS Client或Kafka Client发送一条消息触发JOB-2。JOB-2配置事件触发调度...

适用场景:

当客户需要按照空间划分权限,不同空间用户只能操作开发本空间的作业,但是空间之间的作业需要存在依赖关系。

方案说明:

DAYU数据开发可以支持事件触发的方式运行,因此通过DIS或者MRS KAFKA作为作业依赖纽带,可以跨空间做作业依赖。

如下图,工作空间1中的JOB-1运行完成后,可以使用DIS ClientKafka Client发送一条消息触发JOB-2JOB-2配置事件触发调度,监听Topic中的消息。

image.png

步骤说明:

1.  分别在DAYU的两个空间内数据开发创建对应批作业,比如下图,第一个空间创建空间A作业,第二个空间创建空间B作业。

image.png

2.  空间A作业执行完后,使用DIS Client发送一条触发消息。作业配置如下图。发送了单条字符串消息,用于空间B事件触发时使用。

image.png

3.  配置另外一个空间的作业空间B,配置节点如下图。通道选择是一个空节点,TYPEATYPEBSubjob节点,用于执行对应节点。

image.png

IF条件配置如下:

#{StringUtil.equals(StringUtil.split(Job.eventData,',')[1],'typeA')}

#{StringUtil.equals(StringUtil.split(Job.eventData,',')[1],'typeB')}

场景说明:

当消息为“空间AtypeA”时,执行TYPEA节点,当消息为“空间AtypeB”时,执行TYPEB节点

4.  配置好后,将空间B作业启动调度。空间A作业测试运行,即可发现空间B作业被触发运行。




【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。