2017-09-06 8 views
0

Azure Data Factoryでパイプラインを設定する際に問題があります。ADF年単位のスライスは、現在の年からデータを取得できません

私は過去2年間のデータを毎日アップロードする必要があります。今日までは2016年と2017年のすべてを意味します。私は、WindowStartの日付を2016/01/01、WindowEndの日付を2018/01/01とし、アウトプットをAvailability-> Frequency in Months:12に設定してパイプラインを設定しました。これは2つのスライスを生成し、1つは2016のために、もう1つは2017のためのものです。

2016のスライスは正常に実行されますが、2017のスライスは常に「実行待ち」です。走る

将来、WindowEndが実行されても強制的に実行する方法はありますか?

私は月にいくつかのチェーンアクティビティを作成してグループ化してみましたが、私のテストでは何も必要なものが与えられていません。

私は問題があまりにも稀ではないと感じています。あなたが毎月したいと思っても、今月はアップロードされません。この問題は、WindowStartがSliceStartと一致する必要があり、WindowEndがSliceEndと一致しなければならないという事実に起因します。

何か不足していますか?助言がありますか?

答えて

0

。しかし、デフォルトでは、スライス終了時にのみスケジュールされます。したがって、2017スライスは、それが終わったときにのみ実行されます。

「スタイル」:「StartOfInterval」を指定すると、動作を変更できます。

デザインによって、重ならない時間の離散的な期間を処理するように設計されています。通常、データセットを毎日処理する場合は、毎日前のデータを処理するため、各スライスはすべて累積できる特定の日をカバーします。

あなたはそれを毎日実行したい場合は、日にあなたのソースの可用性を設定する必要があります:1

ソースによっては、ソースをフィルタリングするためにWndowStartパラメータを使用したがためだけ年の部分を使用してすることができます例。

たとえば、データのソースがSQLデータベースであり、格納されたprocを使用して抽出するデータを選択すると、格納されたprocにその年のみを渡すことができます。これを知ることは、当日の年になります。あなたはあなたのprocで現在と昨年に対応するレコードをフィルターに掛けることができます。

"typeProperties": { 
      "storedProcedureName": "dbo.your_stored_proc", 
      "storedProcedureParameters": { 
      "year": "$$Text.Format('{0:yyyy}', SliceStart)", 
      } 

これは意味がありますか?

私はADFでスケジュールの詳細を学ぶためにこの記事を読んでお勧め:

https://blogs.msdn.microsoft.com/ukdataplatform/2016/05/03/demystifying-activity-scheduling-with-azure-data-factory/

0

あなたはこのように、「StartOfInterval」にあなたのパイプラインとデータセット可用性のスタイルを設定する必要があります:あなたはすべてのスライスが作成されたパイプラインを展開する場合

 "availability": { 
     "frequency": "Month", 
     "interval": 12, 
     "style": "StartOfInterval" 
     } 
関連する問題