2017-08-03 3 views
1

誰かに私のピピラインの開始日と終了日が "start"の場合、前日のデータ、つまり2017-07-28などを私のonpremisesファイルシステムから取得する方法を教えていただけますか? "2017-08-03T00:00:00Z"Azure Data Factoryのコピーデーの前に、スライススタート日からのデータ

私のパイプラインの入力は "FileSystemSource"で、出力は "AzureDataLakeStore"です。私はまた、

を次のように入力と出力データセットにし、パイプラインで「オフセット」を定義しようとしている[

  { 

        "name": "OnPremisesFileInput2" 

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

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

       } 

      ] 

:私は、入力として、私のコピーパイプラインでJSONの下

「入力」を試してみました

"可用性":{

 "frequency": "Day", 

     "interval": 1, 

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

     "style": "StartOfInterval" 

    }, 

"スケジューラ":{

   "frequency": "Day", 

       "interval": 1, 

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

       "style": "StartOfInterval" 

      }, 

上記のどれも動作していないようです。誰かに私を助けるように依頼する。

+0

パイプラインが翌日までにプロビジョニングされている場合は、前日のタイムスライスを再実行してください。 –

+0

ポールに返信してくれてありがとうございますが、私はパイプラインが実行予定の時刻から前日のデータを選択したい –

答えて

0

これを行うには、昨日の出力を今日の入力と考えることが重要だと思います。 Azure Data Factory異なるデータソースを使用して、順番にアクティビティを順番に実行しましょう。

良いドキュメントは、このような例ではhere

あります:あなたは2つのアクティビティ間での一時的な記憶を持っているか、あなたのメインの入力データ・ソースを使用できます。このよう enter image description here

だけにフィルタとは昨日のスライスだけを取得します。

0

オフセットはプラスである必要があります。

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

このケースでは、午前1:00 UTCで9月7日に、たとえば実行され、9月7日UTCに9月6日0:00 UTCからのスライスを実行します。昨日のスライスです。

あなたの入力データセットは、9月7日に実行されたときにそれは20170906.csvファイルを探しますファイルの命名

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

}

ためSliceStartを使用するように設定する必要があります。

関連する問題