【DAYU数据开发】跨空间作业依赖调度
适用场景:
当客户需要按照空间划分权限,不同空间用户只能操作开发本空间的作业,但是空间之间的作业需要存在依赖关系。
方案说明:
DAYU数据开发可以支持事件触发的方式运行,因此通过DIS或者MRS KAFKA作为作业依赖纽带,可以跨空间做作业依赖。
如下图,工作空间1中的JOB-1运行完成后,可以使用DIS Client或Kafka Client发送一条消息触发JOB-2。JOB-2配置事件触发调度,监听Topic中的消息。
步骤说明:
1. 分别在DAYU的两个空间内数据开发创建对应批作业,比如下图,第一个空间创建空间A作业,第二个空间创建空间B作业。
2. 空间A作业执行完后,使用DIS Client发送一条触发消息。作业配置如下图。发送了单条字符串消息,用于空间B事件触发时使用。
3. 配置另外一个空间的作业空间B,配置节点如下图。通道选择是一个空节点,TYPEA和TYPEB为Subjob节点,用于执行对应节点。
IF条件配置如下:
#{StringUtil.equals(StringUtil.split(Job.eventData,',')[1],'typeA')}
#{StringUtil.equals(StringUtil.split(Job.eventData,',')[1],'typeB')}
场景说明:
当消息为“空间A,typeA”时,执行TYPEA节点,当消息为“空间A,typeB”时,执行TYPEB节点
4. 配置好后,将空间B作业启动调度。空间A作业测试运行,即可发现空间B作业被触发运行。
- 点赞
- 收藏
- 关注作者
评论(0)