2017-06-16 84 views
0

我已经实现了一个Azure的DF工作,其执行SQL存储过程:Azure数据工厂 - 始终运行?

{ 
    "name": "spLoggingProc", 
    "properties": { 
     "activities": [ 
      { 
       "type": "SqlServerStoredProcedure", 
       "typeProperties": { 
        "storedProcedureName": "logging" 
       }, 
       "outputs": [ 
        { 
         "name": "spEmptyOutput15-4" 
        } 
       ], 
       "scheduler": { 
        "frequency": "Hour", 
        "interval": 1 
       }, 
       "name": "spLogging" 
      } 
     ], 
     "start": "2017-01-01T00:00:00Z", 
     "end": "2099-01-01T00:10:00Z", 
     "isPaused": false, 
     "hubName": "dwh_hub", 
     "pipelineMode": "Scheduled" 
    } 
} 

数据集:

{ 
    "name": "spEmptyOutput15-4", 
    "properties": { 
     "published": false, 
     "type": "AzureSqlTable", 
     "linkedServiceName": "DWH", 
     "typeProperties": { 
      "tableName": "spEmptyOutput15-4" 
     }, 
     "availability": { 
      "frequency": "Hour", 
      "interval": 1 
     } 
    } 
} 

现在的问题是,在PROC运行每2-3秒。但是频率设置为每小时。我的目标是,每运行一小时,每一天都会运行。

任何人都可以帮我吗?

非常感谢!

回答

0

请将开始时间更改为今天的日期,并且您不会看到问题。因为您已将开始时间设置为年初,因此它将在每天和每个小时运行一次,以便在正常例程之前继续运行24x166次。它仍然每小时运行一次,但它必须完成每小时的过去运行,您会看到它每隔几秒钟运行一次。我相信你的proc只需要1-2秒就可以完成。

+0

感谢您的回复 - 它的工作原理。我已经有时间了。非常令人沮丧... –

0

还有一种方法可以并行运行10个切片(10为最大值)以提高速度。如果你还想要过去的数据。那么这将有所帮助。

更改策略下的并发值3以并行运行切片。

 "policy": { 
     "concurrency": 3, 
     "executionPriorityOrder": "OldestFirst", 
     "retry": 3, 
     "timeout": "00:10:00" 
     }