我在名称空间中设置了运行时参数,该名称空间是business_date:$ {logicalStartTime(yyyy-MM-dd)}。我在管道中使用此参数,并希望在其他管道中使用相同的参数。 有许多背对背的管道,我希望在第一个管道中计算出的值在整个管道中都相同。 假设该值计算为“ 2020-08-20 20:14:11”,并且一旦管道1成功,我就将此参数传递给管道2,但是由于此参数是在名称空间级别定义的,因此在管道2启动时将被覆盖。
如何防止再次计算该值?
答案 0 :(得分:1)
如前所述,您可以设置一个管道来触发另一个管道;您可以在第一个管道中设置运行时变量,并将在触发的管道中设置此变量。您可以按照以下步骤创建入站触发器:
其他信息
在此post中,提到了可以通过三种方式设置管道的运行时参数:
答案 1 :(得分:0)
您可以在第一个管道的文件中记录该值。在所有后续管道中,创建一个参数以读取该文件。这样,就应该实现目标。
答案 2 :(得分:0)
@Sudhir,您可以探索偏好。 https://cdap.atlassian.net/wiki/spaces/DOCS/pages/477561058/Preferences+HTTP+RESTful+API
您已在命名空间级别设置了变量,并且根据您的发现,每次使用变量时都会对其进行评估。
您可以尝试在应用程序级别进行设置吗? 并将其传递到下一个管道。我认为在那种情况下,应该只在该特定应用程序(管道)中对它进行一次评估,然后再传递值。
首选项在程序级别也可用。