【问题标题】:Azure Data Factory 'Pending Validation'Azure 数据工厂“等待验证”
【发布时间】:2015-12-18 22:50:18
【问题描述】:

我在 Azure 数据工厂服务中创建了一些管道,用于将数据从 SQL 表移动到 Azure 表。但他们从不开始跑步。相反,即使在我单击 Azure 门户中的 run 按钮后,源数据集仍保留为 pending validation。我已经检查了external 属性,它们都设置为true。我想知道是否还有其他可能的原因。

这是我的表格来源

{
    "name": "TableSrc",
    "properties": {
        "published": false,
        "type": "AzureSqlTable",
        "linkedServiceName": "LinkedService-AzureSql",
        "typeProperties": {
            "tableName": "myTable"
        },
        "availability": {
            "frequency": "Month",
            "interval": 1
        },
        "external": true,
        "policy": {}
    }
}

【问题讨论】:

    标签: azure azure-data-factory cortana-intelligence


    【解决方案1】:

    我知道了原因...它将等待下一个圆形月份开始。也就是说它会在下个月的第一天开始,并且无法手动触发。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题。原来我没有根据UTC指定管道的开始时间。

      【讨论】:

        【解决方案3】:

        我在尝试设置每天运行的管道时遇到了这个问题,并认为我可以使用“anchorDateTime”可用性属性并且我能够做到这一点,但是您必须设置@987654324 的"frequency" 属性@ 数据集中的部分到您要指定的最低粒度级别。也就是说,如果您希望每天在 UTC 时间下午 6:30 运行,您的数据集需要如下所示(因为您指定的是分钟级别的时间):

        "availability": {
            "frequency": "Minute",
            "interval": 1440,
            "anchorDateTime": "2016-01-27T18:30:00Z"
        }
        

        并且管道的"scheduler" 部分需要类似于:

        "scheduler": {
            "frequency": "Minute",
            "interval": 1440,
            "anchorDateTime": "2016-01-27T18:30:00Z"
        }
        

        这将每 1440 分钟(即每 24 小时)运行一次。我希望它可以帮助其他人,因为 Microsoft 文档在这个主题上自相矛盾(或者至少是误导性的):

        对于每日计划,如果您设置 anchorDateTime = 10/20/2014 6 AM 表示计划将在每天早上 6 点进行。

        这其实不是真的,两行后说:

        如果 AnchorDateTime 的日期部分比时间间隔更细,那么更细的部分将被忽略。例如,如果间隔是每小时(频率:小时和间隔:1)并且 AnchorDateTime 包含分钟和秒,则 AnchorDateTime 的分钟和秒部分将被忽略。

        第二部分是我认为我们遇到的问题,也是我建议上述策略的原因。

        参考:https://msdn.microsoft.com/en-us/library/azure/dn894092.aspx

        【讨论】:

        • 这适用于长度不变的时间间隔,但可能不适用于“月”之类的内容,因为您必须指定天数作为间隔。
        • 除了使用锚点外,您还可以使用可用性的偏移属性。我相信接受 TheSchmoe 的答案并添加偏移量将提供解决方案。另见:Dataset Availability properties
        【解决方案4】:

        好吧,如果您希望您的管道运行,请将活动期间更新为过去的日期。你可以使用下面的 powershell 命令来做到这一点

        set-AzureDataFactoryPipelineActivePeriod -DataFactoryName $DataFactoryName -PipelineName $PipelineName -StartDateTime $DateInPast -EndDateTime $DateOneDayLessInPast -ResourceGroupName $ResourceGroupName -Force

        【讨论】:

        • 是的,这就是我的情况。仅供参考,无需通过powershell更改日期,只需在门户中编辑管道JSON即可。
        猜你喜欢
        • 1970-01-01
        • 2020-11-29
        • 1970-01-01
        • 2017-08-21
        • 2015-02-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-29
        相关资源
        最近更新 更多