【问题标题】:Azure Data Factory: How to set variable after for each successfully run?Azure 数据工厂:每次成功运行后如何设置变量?
【发布时间】:2021-08-30 15:44:44
【问题描述】:

我正在使用一个 Azure 复制数据管道来验证数据。 : 输入记录应与输出记录匹配。

。管道是副本,增量数据。所以为此我有以下设置变量。

1:start time=>设置当前UTC时间用于计算管道开始时间。

(Utcnow())

2:结束时间=>用于设置管道运行后的结束时间。

(Utcnow())

3:Total Time=>然后我从结束时间中减去开始时间来计算准确时间。

(@string(div(sub(ticks(Utcnow()),ticks(variables('Start'))),600000000))
)

4:然后我用 Kusto 表检查总插入记录。(前(50m)是管道计算的总时间)

Kusto 查询:

5:Output_LK=> 样本 |where ingestion_time()>ago(50m)|summarize rowcount=count()|project rowcount |取 1

6:获取请求:

Sample1
|summarize rowcount=count()
|project rowcount

管道查询:@if(equals(activity('Output_LK').output.firstrow.rowcount,activity('Get Request').output.firstrow.rowcount),concat('Total Number Of input RECORDS is ',activity('Get Request').output.firstrow.rowcount,'Total Number of output records is ',activity('Output_LK').output.firstrow.rowcount),concat('Total Number Of input RECORDS is ',activity('Get Request').output.firstrow.rowcount,'Total Number of output records is ',activity('Output_LK').output.firstrow.rowcount))

我得到了结果,但这第三步是为了循环完成而执行的。

所以我的结果并不像预期的那样准确。

【问题讨论】:

  • 您看到的差异究竟是什么?您是否检查过集群上的故障?你的数据格式是什么?一个典型的周期需要多长时间?

标签: azure-data-factory kql


【解决方案1】:

ago()函数每次执行查询时会根据执行时间使用不同的时间范围,会产生不同的结果。 您可以通过开始时间和时长查询,得到准确的时间范围。

样本 |其中 ingestion_time() 介于(startTime ..50m) |总结 rowcount=count() |项目行数 |取 1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多