繁体   English   中英

重试 Azure 表中的批处理操作

[英]Retry of batch operation in Azure Table

我正在尝试通过 Azure 数据工厂将数据从 Azure 数据湖存储插入 Azure 表。 Azure Data Lake 文件中的数据与最终 Azure 表接收器的架构相同。

ADF 管道包含从 Azure Data Lake 存储复制到 Azure 表的单个复制活动。 但是由于节流,ADF 管道有时会失败。 我不能重新运行完整的管道,因为它需要几个小时。

我只想重试失败的批次。 但我不认为这是 Azure 表中提供的选项。

我发现SinkRetryCountSinkRetryWait作为 AzureTableSink 类的两个参数,但我猜(因为文档没有正确提及)这将用于完整的管道。

我有两个问题:

  1. SinkRetryCount 和 SinkRetryWait 实际上是什么意思?
  2. 如果批处理失败,是否可以通过设置参数或在 ADF 管道中制作不同的活动图来重试批处理?

您是否尝试过以下方法:

  • 如果您的流程在第一步确保干净状态,类似于命令设计模式的撤消(但更幼稚),那么您的流程可以重新执行。

    • 使用 #1,您可以安全地在管道活动中使用“重试”,并且重试之间有足够的时间。
    • 这是 ADFv1 或 v2 兼容的方法

参考: https : //docs.microsoft.com/en-us/azure/data-factory/v1/data-factory-create-pipelines

  • 如果是 ADFv2,那么您有更多选择,可以有更复杂的逻辑来处理错误:

    • 对于失败的活动,将其包装在一个直到成功的循环中,并确保在执行时包含一个界限。

    • 您可以在循环中添加更多活动来处理故障并记录、通知或解决由于您无法控制的外部因素而导致的已知故障情况。

  • 您还可以对未来的流程执行使用异步通信,从而将成功保存到中央存储。 然后稍后执行“如果”我已经成功然后在活动之前停止处理。

    • 这对于更通用的管道非常有用,因为您可以选择从哪里开始

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-create-pipelines上的 ee retry 检查重试。

Retry: Number of retries before the data processing for the slice is marked as Failure. Activity execution for a data slice is retried up to the specified retry count. The retry is done as soon as possible after the failure.

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM