Open Parser
Open Parser は、世界のさまざまなカルチャーからの入力データを、シンプルかつ強力なパーシング グラマーでパースします。このグラマーを使用すると、ドメイン パターンを表す一連の式を入力データのパース用に定義できます。また、Open Parser は、統計データを収集してパーシング マッチにスコアを付けるため、パーシング グラマーの効果を調べるのも容易です。
Open Parser を使用して、次のことができます。
- ドメインエディタで定義したドメイン固有およびカルチャー固有のパーシング グラマーを使用して、入力データをパースします。
- ドメインエディタで使用できるものと同じ、シンプルかつ強力なパーシング グラマーを使用して Open Parser で定義した、ドメインに依存しないパーシング グラマーを使用して、入力データをパースします。
- データフロー オプションで定義したドメインに依存しないパーシング グラマーを実行時に使用して、入力データをパースします。
- ターゲット入力データファイルを使用してジョブを実行する前に、パーシング グラマーをプレビューして、サンプル入力データがどのようにパースされるかをテストします。
- パーシング グラマー結果をトレースして、定義した式にトークンがどれくらいマッチしたか、またはマッチしなかったかを確認し、マッチング処理に関する理解を深めます。
設定ファイル
これらの表には、Open Parser ジョブを実行する前に指定する必要があるパラメータと値が記載されています。
パラメータ | 説明 |
---|---|
pb.bdq.input.type | 入力ファイルの種類。値は TEXT、ORC、PARQUET のいずれかです。 |
pb.bdq.inputfile.path | 入力ファイルを HDFS 上に置いたパス。例: /user/hduser/sampledata/opennameparser/ input/OpenParser_Input.csv |
textinputformat.record.delimiter | テキスト タイプの入力ファイルで使用されるファイル レコード区切り文字。例えば、LINUX、MACINTOSH、またはWINDOWS |
pb.bdq.inputformat.field.delimiter | カンマ (,) またはタブなど、入力ファイルで使用されるフィールドまたは列の区切り文字。 |
pb.bdq.inputformat.text.qualifier | 入力ファイルの列またはフィールドのテキスト修飾子 (存在する場合)。 |
pb.bdq.inputformat.file.header | 入力ファイルで使用されるヘッダーのカンマ区切りの値。 |
pb.bdq.inputformat.skip.firstrow | 最初の行をスキップするかどうか。値は True または False です。True はスキップを示します。 |
パラメータ | 説明 |
---|---|
pb.bdq.job.type | これは、ジョブを定義する定数値です。このジョブの値は、OpenParser です。 |
pb.bdq.job.name | ジョブの名前。デフォルトは OpenParserSample です。 |
pb.bdq.dnm.openparser.configuration | オープン パーサーの設定を定義する Json 文字列。使用する構文解析文法、解析するデータの言語やカルチャーなどの詳細を指定します。 |
pb.bdq.reference.data | リファレンス データを配置している場所のパス。例: {"referenceDataPathLocation":"LocaltoDataNodes","dataDir":"/home/data/referenceData"} |
パラメータ | 説明 |
---|---|
pb.bdq.job.type | これは、ジョブを定義する定数値です。このジョブの値は、OpenParser です。 |
pb.bdq.job.name | ジョブの名前。デフォルトは OpenParserSample です。 |
pb.bdq.dnm.openparser.configuration | オープン パーサーの設定を定義する Json 文字列。使用する構文解析文法、解析するデータの言語やカルチャーなどの詳細を指定します。 |
pb.bdq.reference.data | HDFS 上にあるリファレンス データのパスとデータ ダウンローダのパス。例: {"referenceDataPathLocation":"HDFS","dataDir":"/home/data/dm/referenceData","dataDownloader":{"dataDownloader":"HDFS","localFSRepository":"/local/download"}} |
MapReduce 設定パラメータを指定します。 |
---|
ジョブでの必要性に応じて、mapreduce.map.memory.mb、mapreduce.reduce.memory.mb、mapreduce.map.speculative などの MapReduce パラメータをカスタマイズします。 注: このファイルは MapReduce ジョブでのみ使用します。 |
パラメータ | 説明 |
---|---|
pb.bdq.output.type | 出力が TEXT、ORC、または PARQUET 形式の場合に指定します。 |
pb.bdq.outputfile.path | HDFS で出力ファイルを生成するパス。例: /user/hduser/sampledata/ opennameparser/output |
pb.bdq.outputformat.field.delimiter | カンマ (,) またはタブなどの出力ファイルのフィールドまたは列の区切り文字。 |
pb.bdq.output.overwrite | 値が true のとき、出力フォルダはジョブが実行されるたびに上書きされます。 |
pb.bdq.outputformat.headerfile.create | 出力ファイルにヘッダーが必要な場合は、true を指定します。 |
Parquet ファイルのプロパティ | |
parquet.compression | ページの圧縮に使用する圧縮アルゴリズム。UNCOMPRESSED、SNAPPY、GZIP、LZO のいずれかを指定します。 デフォルトは 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 です。 |