2017-08-03 106 views
1

如果我的pipleline開始和結束日期是 「start」:「有人可以讓我知道如何從我的onpremises文件系統獲取前一天的數據,即2017-07-28等等: 2017-07-29T00:00:00Z「, 」end「:」2017-08-03T00:00:00Z「azure數據工廠從slicestart日期數據複製前一天

我的管道輸入是」FileSystemSource「,輸出是」AzureDataLakeStore「。我在副本管道嘗試以下JSON作爲輸入

「輸入」:

  { 

        "name": "OnPremisesFileInput2" 

         "startTime": "Date.AddDays(SliceStart, -1)", 

         "endTime": "Date.AddDays(SliceEnd, -1)" 

       } 

      ] 

我也試圖在輸入和輸出數據集,並在管道定義「偏移」如下

「可用性」:{

 "frequency": "Day", 

     "interval": 1, 

     "offset": "-1.00:00:00", 

     "style": "StartOfInterval" 

    }, 

「調度器」:{

   "frequency": "Day", 

       "interval": 1, 

       "offset": "-1.00:00:00", 

       "style": "StartOfInterval" 

      }, 

以上都不起作用。請求某人幫助我。

+0

如果你有一天的供應管道,只需重新運行前幾天的時間片。 –

+0

感謝Paul的回覆,但我希望管道選擇前一天的數據,從時間管道計劃運行 –

回答

0

我認爲一個很好的策略是將昨天的輸出看作今天的輸入。 Azure Data Factory允許您使用不同的數據源依次運行活動。

有良好的文檔here

有了這樣一個例子: enter image description here

這樣你既可以有一個臨時存儲在這兩個活動之間,或使用你的主要輸入數據源,但有一個過濾器只得到昨天的片段。

0

你的抵消應該是積極的。

"availability": {  
     "frequency": "Day",  
     "interval": 1,  
     "offset": "01:00:00",  
     "style": "EndOfInterval"  
    } 

在這種情況下,將例如在9月7日凌晨1:00 UTC運行,並且將運行從9月6日0:00 UTC到9月7日UTC切片。這是昨天的片段。

你的輸入數據集必須配置爲使用SliceStart的文件

"partitionedBy": [ 
       { 
        "name": "Slice", 
        "value": { 
         "type": "DateTime", 
         "date": SliceStart", 
         "format": "yyyymmdd" 
        } 
       }], 
"typeProperties": { 
     "fileName": "{slice}.csv", 

}

當9月7日執行它會尋找20170906.csv文件的命名。