我实施了一个执行SQL存储过程的Azure DF作业:
{
"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秒运行一次。但频率设定为每小时。我的目标是,每小时和每天都要运行proc。
有人可以帮助我吗?
非常感谢!
答案 0 :(得分:0)
请将开始时间更改为今天的日期,您将看不到问题。因为您已将开始时间设置为年初,所以它将在每天和每小时运行,以便在进入正常例程之前继续运行24x166次。它仍然按小时运行,但它必须完成每小时的过去运行,你会看到它每隔几秒运行一次。我相信你的过程只需要1-2秒即可完成。
答案 1 :(得分:0)
还有另一种方法可以并行运行10个切片(10个是最大值)以提高速率。如果你也想要过去的数据。那么这将有所帮助。
更改“策略”下的“并发”值3以并行运行切片。
"policy": {
"concurrency": 3,
"executionPriorityOrder": "OldestFirst",
"retry": 3,
"timeout": "00:10:00"
}