Azure Data Factory Data Flow如何获取执行时长并转换为总秒数
Azure Data Factory数据流活动时长获取相关问题解答
数据流活动是否有总执行时长对应字段
有,数据流活动的输出参数中包含Duration字段,专门用来记录整个数据流的总执行时长,作用和Copy Data活动的copyDuration一致。
@activity('activityName').Duration写法是否正确
该写法完全有效,执行后会返回对应数据流活动的执行时长,返回值为hh:mm:ss格式的字符串,例如00:01:02就代表活动总执行时长为1分2秒。
hh:mm:ss格式时长转总秒数的实现方法
你可以通过拆分时长字符串分别计算时、分、秒的数值累加得到总秒数,具体ADF表达式写法如下:
@string( add( add( mul(int(split(activity('你的数据流活动名称').Duration, ':')[0]), 3600), mul(int(split(activity('你的数据流活动名称').Duration, ':')[1]), 60) ), int(split(activity('你的数据流活动名称').Duration, ':')[2]) ) )
实现逻辑说明:
- 调用
split()方法按冒号拆分时长字符串,得到分别对应小时、分钟、秒的三个子串 - 用
int()方法将三个子串转换为整数类型 - 按「小时3600 + 分钟60 + 秒」的公式计算得到总秒数
- 外层的
string()方法用于将最终数值转换为字符串格式,如果你后续需要用该值做数值计算,可以去掉外层的string()包裹
内容的提问来源于stack exchange,提问作者lalalalaalalallll
相关产品推荐
相关产品推荐

