U-SQL 入門③ ~ ファイルのアウトプット ~

U-SQL でのファイルのアウトプットは OUTPUT 文のTO 句 で PATH を指定して、 USING 句で Outputter を指定します。

OUTPUT @rows
    TO “/data.csv”
    USING Outputters.Csv();

Outputtersで書き込むファイルのフォーマットを指定します。

  • Outputters.Text(): フィールドのデリミタを指定して出力
  • Outputters.Csv(): CSV 形式を出力
  • Outputters.Tsv(): TSV 形式を出力
// ヘッダ付きの CSV 形式で出力する
OUTPUT @rows
    TO “/data.csv”
    USING Outputters.Csv(outputHeader: true);

// ダブルクォート無しで TSV 形式で出力する
OUTPUT @rows
    TO “/data.tsv”
    USING Outputters.Tsv(quoting: false);

// "|" で区切られたファイル形式で出力する
OUTPUT @rows
    TO “/data.txt”
    USING Outputters.Text(delimiter: '|');

Outputter 共通のパラメータ

パラメータ デフォルト値 指定できる値 説明
dateTimeFormat "o" datetime側のカラムがあった場合、このパラメータで出力フォーマットを指定できる。指定できるフォーマットはこちらに書いてある。
https://msdn.microsoft.com/library/az4se3k1(v=vs.110).aspx
encoding Encoding.UTF8 Encoding.[ASCII]
Encoding.BigEndianUnicode
Encoding.Unicode
Encoding.UTF7
Encoding.UTF8
Encoding.UTF32
ファイルのエンコード指定
escapeCharacter null エスケープ用の文字を指定
nullEscape null null 値と解釈する文字を指定
quoting true true
false
アウトプットするデータのフィールドを " (ダブルクォート) でくくるかどうか
rowDelimiter \r\n 行デリミタを指定。デフォルトではCRLF
outputHeader false true
ヘッダにフィールド名を付けるかどうか

U-SQL Built-in Outputters | Microsoft Docs