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