【问题标题】:Azure Data Factory pipelines are failing when no files available in the source当源中没有可用文件时,Azure 数据工厂管道失败
【发布时间】:2017-08-01 02:04:40
【问题描述】:

目前——我们将数据从 Hadoop 本地服务器加载到 SQL DW [通过 ADF 分阶段复制和 DMG 本地服务器]。我们注意到 ADF 管道出现故障——当 Hadoop 本地服务器位置没有文件时[我们不希望上游每天发送文件,因此它的有效场景是在 Hadoop 本地服务器位置上拥有零文件] .

你有这种情况的解决方案吗?

下面给出的错误信息

执行失败复制活动遇到用户错误: ErrorCode=UserErrorFileNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Cannot 找到“HDFS”文件。 ,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The 远程服务器返回错误:(404) Not Found.,Source=System,'。

谢谢, 阿拉文

【问题讨论】:

    标签: azure-data-factory


    【解决方案1】:

    可以通过使用 ADFv2 元数据任务检查文件是否存在,然后在文件或文件夹不存在时跳过复制活动来解决此要求:

    https://docs.microsoft.com/en-us/azure/data-factory/control-flow-get-metadata-activity

    【讨论】:

      【解决方案2】:

      您的管道是否有输入数据集?看看你是否可以跳过你的输入数据集依赖..

      【讨论】:

        【解决方案3】:

        嗯,这是一个棘手的问题。我会投票赞成我认为的问题。

        我能想到的几个选项...

        1) 我建议最好的方法是在复制之前创建一个自定义活动以首先检查源目录。如果不存在文件,这可以处理该行为,而不仅仅是抛出错误。然后,您可以对其进行编码,使其在返回时更加优雅,并且不会阻塞下游 ADF 活动。

        2) 使用一些 PowerShell 检查 ADF 活动是否存在丢失文件错误。然后只需使用 cmdlet 将数据集切片设置为已跳过或准备好,即可覆盖状态。

        例如:

        Set-AzureRmDataFactorySliceStatus `
            -ResourceGroupName $ResourceGroup `
            -DataFactoryName $ADFName.DataFactoryName `
            -DatasetName $Dataset.OutputDatasets `
            -StartDateTime $Dataset.WindowStart `
            -EndDateTime $Dataset.WindowEnd `
            -Status "Ready" `
            -UpdateType "Individual"
        

        这当然不理想,但会比使用 Azure 自动化的自定义活动更快地开发。

        希望这会有所帮助。

        【讨论】:

        • 我收到 ErrorCode=UserErrorInvalidParquetFile,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException。如果可用,如何跳过所有错误并继续处理下一个文件?
        【解决方案4】:

        您可以将文件路径类型更改为通配符,添加文件名并在名称末尾或任何其他适合您的位置添加“*”。

        这是在没有文件时阻止管道失败的简单方法。

        【讨论】:

          猜你喜欢
          • 2019-10-24
          • 1970-01-01
          • 2020-07-30
          • 1970-01-01
          • 2023-01-25
          • 1970-01-01
          • 2021-12-04
          • 1970-01-01
          • 2018-11-25
          相关资源
          最近更新 更多