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"
}