簡體   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