Time ApacheNIFI总执行时间
我想知道如何找出/捕获ApacheNIFI中任何流的总执行时间。有没有办法将其添加到属性列表中,以便通过PutEmail共享?我认为在收到流文件时,您必须添加一个自定义时间戳属性,执行大部分处理,然后计算一个包含在电子邮件中的已用时间属性。您可以使用两个UpdateAttribute处理器完成此操作Time ApacheNIFI总执行时间,time,execution,apache-nifi,Time,Execution,Apache Nifi,我想知道如何找出/捕获ApacheNIFI中任何流的总执行时间。有没有办法将其添加到属性列表中,以便通过PutEmail共享?我认为在收到流文件时,您必须添加一个自定义时间戳属性,执行大部分处理,然后计算一个包含在电子邮件中的已用时间属性。您可以使用两个UpdateAttribute处理器完成此操作 UpdateAttribute,已收到=${now():toNumber()} (进行数据处理) UpdateAttribute,经过时间=${now():toNumber():减号(${recei
${now():toNumber()}
${now():toNumber():减号(${received}):格式(“HH:mm:ss”)}
${appeased}
但这有点难看,只给出了处理时间的近似值。NiFi来源系统维护“沿袭持续时间”,它描述了自文件进入NiFi以来经过的时间。这是一个更加权威的数字。但我不相信你们可以从表达式语言中查询血统持续时间。您必须单独查询和分析出处数据
詹姆斯提供了一个很好的解释。不过,另一个注意事项是,您可以简单地引用
沿袭开始日期
属性,而不是为接收数据时的时间戳添加属性:
${now():toNumber():minus(${lineageStartDate}):format("HH:mm:ss")}
这与用于确定起源中血统持续时间的值相同。谢谢。我尝试过这种方法,它奏效了。我可以用它来捕获执行时间。我要说的是,你的意思是说,我可以直接使用沿袭StartDate属性,它会给我进程的持续时间,而不是像上面@James建议的那样:(当前时间-开始时间),这应该是
${now():toNumber():减号(${沿袭StartDate}):format(“HH:mm:ss”)}
?太棒了,我不知道这是可访问的,+1!哇,对不起-是的,应该是${now():toNumber():减号(${relegenestartdate}):格式(“HH:mm:ss”)}
。很好地理解了我的打字错误:)我必须做${now():toNumber():减号(${relegenestartdate}):格式(“HH:mm:ss“,”GMT“)},以便它可以解释GMT偏移量