Shuffle&sortへの入力となるCSVデータのセパレータを変更したり、カラムの前後にある空白の評価方法などを変更したりすることができます。
設定内容 | 設定名 | 設定値 | 備考 |
---|---|---|---|
CSVデータのセパレータ | extjoiner.csv.separator | ,(カンマ) (セパレータに利用可能な値は1文字だけです) | 省略可 デフォルトはカンマです。 ただし、浮動フィールド指定にtrueが指定されている場合、デフォルトは空白とタブがセパレータとなります |
CSVデータの振り分け処理における主キーの空白の扱い | extjoiner.partitioner.csv.padding | true false | 省略可 デフォルトはtrueです |
CSVデータのソート処理におけるキーの空白の扱い | extjoiner.comparator.csv.padding | true false | 省略可 デフォルトはfalseです。 |
浮動フィールド指定 | extjoiner.csv.floatfield | true false | 省略可 デフォルトはfalseです。 |
例
CSVデータのセパレータを指定する場合
<name> extjoiner.csv.separator </name> <value>;</value>
設定値がアルファベットの場合、大文字と小文字を区別します
CSVデータの振り分け処理における主キーの空白の扱いを指定する場合
<name> extjoiner.partitioner.csv.padding </name> <value>true</value>
trueの場合、カラム内の前置空白、後置空白、前置TAB、後置TABを含めた値を主キーとして振り分けます。
falseの場合、カラム内の前置空白、後置空白、前置TAB、後置TAB を含めない値を主キーとして振り分けます。
CSVデータのソート処理におけるキーの空白の扱いを指定する場合
<name> extjoiner.comparator.csv.padding </name> <value>true</value>
trueの場合、カラム内の前置空白、後置空白、前置TAB、後置TABを含めた値をキーとして比較します。
falseの場合、カラム内の後置空白、後置TABを含めた値をキーとして比較します。(前置空白、前置TABを含めません)
浮動フィールドを指定する場合
<name> extjoiner.csv.floatfield </name> <value>false</value>
trueの場合
カラム内のすべてのデータを値として扱います。
CSVデータのセパレータを省略した場合、行頭のセパレータはCSVデータの一部とみなします。セパレータが連続している場合、先頭をセパレータ、残りをCSVデータの一部とみなします。
CSVデータのセパレータを指定した場合、行頭のセパレータや連続したセパレータは空のカラムとみなします。
falseの場合
カラムの先頭と末尾のダブルクォーテーションは、カラムを囲むための引用符とみなしデータには含めません。
CSVデータのセパレータの指定の有無に関わらず、行頭のセパレータや連続したセパレータは空のカラムとみなします。
注意
Shuffle&sortへの入力となるCSVデータのセパレータは、浮動フィールド指定の有無により指定可能な値が異なります。指定可能な値は以下のとおりです。
浮動フィールド指定が有効な場合
,(カンマ)、\t(TAB)、アルファベット(a-z,A-Z)、記号
浮動フィールド指定が無効な場合
,(カンマ)、\t(TAB)
指定できないセパレータが指定された場合、Hadoopジョブ実行時にエラーになります。