2

このユースケースでは、構成可能な入力を Azure Data Factory を介して U-SQL スクリプトに渡す必要があります。実現可能性を評価しており、アクティビティのタイム スライスの間隔に応じて、U-SQL スクリプトに渡される変数の数を自動化する必要があります。

たとえば、U-SQL スクリプトを 4 時間ごとに実行する場合、1 時間ごとに 1 つずつ、4 つの異なるファイルからデータを読み取る必要があります。間隔が 5 時間に変更された場合、U-SQL スクリプトを更新しなくても、5 つの異なるファイルから自動的に読み取られるように、これを自動化する必要があります。

ファイル パスは次の形式になります: Source\YYYY-MM-DD\hh.csv

この動的性は、データ ファクトリまたはデータ レイクが提供する現在の機能と一連の機能で達成できますか? または、データ ファクトリ パイプラインのデプロイを自動化できるようにするための回避策はありますか?

4

1 に答える 1

2

ファイルのスキーマが同じである場合は、U-SQL のファイル セット機能を次のように使用できます。

DECLARE @begin_date DateTime = DateTime.Parse("....");
DECLARE @end_date DateTime = DateTime.Parse("....");

@data = 
  EXTRACT filedate DateTime, // insert rest of your schema
  FROM "/Source/{filedate:yyyy}-{filedate:MM}-{filedate:dd}/{filedate:hh}.csv"
  USING Extractors.Csv();

@data = 
  SELECT * 
  FROM @data
  WHERE filedate BETWEEN @begin_date AND @end_date;

// ... rest of script ...

上記のコードは、の述語を満たすファイルにのみアクセスしfiledate、他のファイルは読み取りません。

次に、ADF のパラメーター化機能を使用してパラメーター@begin_date@end_dateし、必要な間隔を指定します。

于 2016-08-17T19:37:21.170 に答える