設定ファイル

これらの表には、Joiner ジョブを実行する前に指定する必要があるパラメータと値が記載されています。
注: ここでは、Joinier ジョブに 3 つの入力ファイルがあると想定して説明を行っています。ただし、ジョブには任意の数の入力ファイルを使用できます。
表 1. inputFileConfig
パラメータ 説明
pb.bdq.input.type 入力ファイルの種類。値は TEXTORCPARQUET のいずれかです。
これらの行では、1 つ目の入力ファイルの詳細について説明しています。
pb.bdq.inputfile.path.0 入力ファイルを HDFS 上に置いたパス。例: /home/hduser/input/input0.txt
textinputformat.record.delimiter.0 テキスト タイプの入力ファイルで使用されるファイル レコード区切り文字。例えば、LINUXMACINTOSH、またはWINDOWS
pb.bdq.inputformat.field.delimiter.0 カンマ (,) またはタブなど、入力ファイルで使用されるフィールドまたは列の区切り文字。
pb.bdq.inputformat.text.qualifier.0 入力ファイルの列またはフィールドのテキスト修飾子 (存在する場合)。
pb.bdq.inputformat.file.header.0 カンマで区切られた値としての列ヘッダー。例えば、business name、id、domain。
pb.bdq.inputformat.skip.firstrow.0 最初の行をスキップするかどうか。値は True または False です。True はスキップを示します。
これらの行では、2 つ目の入力ファイルの詳細について説明しています。
pb.bdq.inputfile.path.1 入力ファイルを HDFS 上に置いたパス。例: /home/hduser/input/input1.txt
textinputformat.record.delimiter.1 テキスト タイプの入力ファイルで使用されるファイル レコード区切り文字。例えば、LINUXMACINTOSH、またはWINDOWS
pb.bdq.inputformat.field.delimiter.1 カンマ (,) またはタブなど、入力ファイルで使用されるフィールドまたは列の区切り文字。
pb.bdq.inputformat.text.qualifier.1 入力ファイルの列またはフィールドのテキスト修飾子 (存在する場合)。
pb.bdq.inputformat.file.header.1 カンマで区切られた値としての列ヘッダー。例えば、business name、id、domain。
pb.bdq.inputformat.skip.firstrow.1 最初の行をスキップするかどうか。値は True または False です。True はスキップを示します。
これらの行では、3 つ目の入力ファイルの詳細について説明しています。
pb.bdq.inputfile.path.2 入力ファイルを HDFS 上に置いたパス。例: /home/hduser/input/input2.txt
textinputformat.record.delimiter.2 テキスト タイプの入力ファイルで使用されるファイル レコード区切り文字。例えば、LINUXMACINTOSH、またはWINDOWS
pb.bdq.inputformat.field.delimiter.2 カンマ (,) またはタブなど、入力ファイルで使用されるフィールドまたは列の区切り文字。
pb.bdq.inputformat.text.qualifier.2 入力ファイルの列またはフィールドのテキスト修飾子 (存在する場合)。
pb.bdq.inputformat.file.header.2 カンマで区切られた値としての列ヘッダー。例えば、business name、id、domain。
pb.bdq.inputformat.skip.firstrow.2 最初の行をスキップするかどうか。値は True または False です。True はスキップを示します。
表 2. joinerConfig
パラメータ 説明
pb.bdq.job.type これは、ジョブを定義する定数値です。このジョブの値は、Joiner です。
pb.bdq.job.name ジョブの名前。デフォルトは JoinerSample です。
com.pb.bdq.dim.join.left.port 左ポートの入力ファイル インデックスを定義する JSON 文字列。
com.pb.bdq.dim.join.type 実行する結合操作のタイプを指定します。次のオプションがあります。
  • LeftOuter
  • 全体
  • 内部
com.pb.bdq.dim.join.col.0 結合する列をカンマ (,) で区切って指定します。
com.pb.bdq.dim.join.col.1 結合する列をカンマ (,) で区切って指定します。
com.pb.bdq.dim.join.col.2 結合する列をカンマ (,) で区切って指定します。
表 3. mapReduceConfig
MapReduce 設定パラメータを指定します。
ジョブでの必要性に応じて、mapreduce.map.memory.mbmapreduce.reduce.memory.mbmapreduce.map.speculative などの MapReduce パラメータをカスタマイズします。
注: このファイルは MapReduce ジョブでのみ使用します。
表 4. OutputFileConfig
パラメータ 説明
pb.bdq.output.type 出力が TEXTORC、または PARQUET 形式の場合に指定します。
pb.bdq.outputfile.path HDFS で出力ファイルを生成するパス。例: /user/hduser/sampledata/joiner/output
pb.bdq.outputformat.field.delimiter カンマ (,) またはタブなどの出力ファイルのフィールドまたは列の区切り文字。
pb.bdq.output.overwrite 値が true のとき、出力フォルダはジョブが実行されるたびに上書きされます。
pb.bdq.outputformat.headerfile.create 出力ファイルにヘッダーが必要な場合は、true を指定します。
Parquet ファイルのプロパティ
parquet.compression ページの圧縮に使用する圧縮アルゴリズム。UNCOMPRESSEDSNAPPYGZIPLZO のいずれかを指定します。

デフォルトは UNCOMPRESSED です。

parquet.block.size メモリにバッファリングされる行グループのサイズ。

値を大きくするほど読み込み時の I/O が向上しますが、書き込み時のメモリ消費が大きくなります。

デフォルトのサイズは 134217728 バイト (= 128 * 1024 * 1024) です。

parquet.page.size ページはブロックを構成し、単一レコードにアクセスするために完全に読み込む必要がある最小単位です。
デフォルトのサイズは 1048576 バイト (= 1 * 1024 * 1024) です。
注: ページ サイズが小さすぎると、圧縮に支障が生じます。
parquet.dictionary.page.size デフォルトのサイズは 1048576 バイト (= 1 * 1024 * 1024) です。
parquet.enable.dictionary 辞書エンコーディングの有効または無効を指定する boolean 値 (True または False)。デフォルトは True です。
parquet.validation デフォルトの boolean 値は False です。
parquet.writer.version Writer のバージョンを指定します。PARQUET_1_0 または PARQUET_2_0 を指定する必要があります。デフォルトは PARQUET_1_0 です。
parquet.writer.max-padding デフォルト設定は、パディングなし、行グループ サイズの 0% です。
parquet.page.size.check.estimate デフォルトの boolean 値は True です。
parquet.page.size.row.check.min デフォルト値は 100 です。
parquet.page.size.row.check.max デフォルト値は 10000 です。