フォルダ構造内に複数のcsvファイル(yyyy/MM/ddで構成)があり、特定の日付のフォルダにすべてのファイルを展開するとします。 2つの方法(正確な日時のセマンティクスを必要とするか、またはパス連結を使用しても問題ないかどうかに応じて)を行うことができます。
まず例連結パス:
DECLARE EXTERNAL @folder = "2017/07/11"; // Script parameter with default value.
// You can specify the value also with constant-foldable expression on Datetime.Now.
DECLARE @path = "/constantpath/"[email protected]+"/{*.csv}";
@data = EXTRACT I int, s string // or whatever your schema is...
FROM @path
USING Extractors.Csv();
...
そして、ここでは、仮想列設定ファイルと例を次に示します。いずれの場合も
DECLARE EXTERNAL @date = "2017/07/11"; // Script parameter with default value.
// You can specify the value also with constant-foldable expression on Datetime.Now and string serialization (I am not sure if the ADF parameter model supports DateTime values).
DECLARE @path = "/constantpath/{date:yyyy}/{date:MM}/{date:dd}/{*.csv}";
@data = EXTRACT I int, s string // or whatever your schema is...
, date DateTime // virtual column for the date pattern
FROM @path
USING Extractors.Csv();
// Now apply the requested filter to reduce the files to the requested set
@data = SELECT * FROM @data WHERE date == DateTime.Parse(@date);
...
を、あなたはADFのパラメータモデルを経由してパラメータを渡すと、 Bobによって提案されたように、コードをU-SQLストアドプロシージャまたはTVFにラップすることができます。
U-SQL [stored proc](https://msdn.microsoft.com/en-us/library/azure/mt621314.aspx)? – wBob