Embulkは、さまざまなプラグインを使用して、各種システムやファイル形式との間でデータをロードできます。
再利用性を高めるために、プラグインを共有して管理することで、カスタムスクリプトを読みやすく、保守しやすく維持できます。
次のプラグイン種類リストが公開されています。
・入力プラグイン
・出力プラグイン
・フィルタプラグイン
・ファイルパーサープラグイン
・ファイルデコーダプラグイン
・ファイルフォーマッタプラグイン
・ファイルエンコーダプラグイン
・エグゼキュータプラグイン
「embulk mkbundleサブコマンド」により、プラグインが分離されたバンドルを作成できます。
プラグイン(gems)を、embulkディレクトリではなく、バンドルディレクトリにインストールすることで、プラグインのバージョンをシンプルに管理できます。
ファイル入力プラグインは、ローカルファイルからデータを読み込みます。
Gzip形式にデコードします。
BZip2形式にデコードします。
CSVパーサープラグインは「CSVファイル」や「TSVファイル」を解析します。
列設定を宣言できますが、列設定を自動的に生成する推測機能も利用できます。
エスケープされていない不規則な引用符の処理方法も指定できます。
JSONパーサープラグインは、JSONオブジェクトの配列を含むJSONファイルを解析します。
columnsオプションにより、「列のリスト」と「JSON値をEmbulk列に抽出する方法」を宣言します。
処理結果として、JSON形式の「record」という名前の単一レコードを出力します。
CSVフォーマッタープラグインは、「CSV形式」や「TSV形式」にデータをフォーマットします。
quote_policyオプションにより、引用するフィールドタイプを指定できます。
Gzipエンコーダープラグインは、Gzipを使用して出力ファイルを圧縮します。
「0(圧縮なし)」から「9(最高レベル圧縮)」の圧縮レベルを指定できます。
BZip2エンコーダープラグインは、BZip2を使用して出力ファイルを圧縮します。
「1」から「9」の圧縮レベルを指定できます。
ファイル出力プラグインは、ローカルファイルシステムにレコードを出力します。
sequence_formatにより、タスクの「タスクインデックス」と「シーケンス番号」をフォーマットします。
ローカルエグゼキュータプラグインは、唯一の組み込みエグゼキュータプラグインで、ローカルのスレッドを使用してタスクを実行します。
max_threadsオプションにより、最大同時実行性を制御できます。
大きな数値を設定すると、空いているコンピュータリソースを最大限活用したハイパフォーマンスの転送を実施できます。
小さい数を設定すると、スレッドが多すぎて対象データストレージが過負荷になる状況を緩和できます。
min_output_tasksオプションにより、「ページの散乱」を有効にできます。
入力タスクごとに複数のフィルタと出力スレッドを使用できるようにすることで、1つの入力タスクが複数スレッドで動作できるようになります。
入力データ速度が低い場合に、大きな数値を設定することで、Embulk全体の同時実行性パフォーマンスを向上できます。
推測エグゼキュータプラグインは、guessコマンドによって呼び出される推測機能です。
適切な推測プラグインを指定することで、処理順番などもを含めたEmbulk構成を提案します。
プレビューエグゼキュータプラグインは、previewコマンドによって呼び出されるプレビュー機能です。
①指定された入力ソースからサンプルバッファを読み取る
②サンプルバッファをpreviewPageオブジェクトに書き込む
③previewPageオブジェクトをコンソールに出力
preview_sample_buffer_bytesオプションにより、入力ソースから読み取るサンプルバッファのバイト数を制御できます。
OSS×Cloud ACCESS RANKING