U-SQL 入門⑨ ~ 変数の使用 ~
DECLARE を使って変数を宣言することができます。これを使うことによって U-SQL のメンテナンス性が向上します。
また、Azure Data Factory を使って U-SQL を実行する際は、Azure Data Factory で定義したパラメータを U-SQL に渡すことができます。
DECLARE @in string = "/Samples/Data/SearchLog.tsv"; DECLARE @out string = "/output/SearchLog-scalar-variables.csv"; @searchlog = EXTRACT UserId int, Start DateTime, Region string, Query string, Duration int?, Urls string, ClickedUrls string FROM @in USING Extractors.Tsv(); OUTPUT @searchlog TO @out USING Outputters.Csv();
T-SQL と異なり、以下の様な記述はエラーになります。
// エラーになる DECLARE @var string; DECLARE @var string = ""; SET @var = "a value"
以下の様に行セットも DECLARE では使用できません。
DECLARE @maxval int = SELECT MAX(value) FROM data;
この記事はこちらの公式ドキュメントを参考にしたものです。
https://msdn.microsoft.com/en-us/azure/data-lake-analytics/u-sql/declare-variables-u-sql
Azure Data Factory から U-SQL パラメータを渡す場合
U-SQL スクリプトを使用したデータ変換 - Azure | Microsoft Docs
"parameters": { "in": "/Samples/Data/SearchLog.tsv", "out": "/output/SearchLog-scalar-variables.csv" }