Embulk(エンバルク)。オープンソースの並列データ転送フレームワークです。「fluentd」のバッチ版のようなバルク処理に特化したプラグインベースのデータローダーです。大規模データセットのバルクインポートを行えます。

Embulkとは

Embulk(エンバルク)。オープンソースの並列データ転送フレームワークです。「fluentd」のバッチ版のようなバルク処理に特化したプラグインベースのデータローダーです。大規模データセットのバルクインポートを行えます。

基本情報

概要

Embulk(エンバルク)とは、オープンソースの並列データ転送フレームワークです。「fluentd」のバッチ版のようなバルク処理に特化したプラグインベースのデータローダーです。大規模データセットのバルクインポートを行えます。

基本説明

Embulk は、リアルタイムで動作するストリーミング型ログ収集フレームワーク「fluentd」のバッチ版のようなツールです。ファイル/データベースなどからデータを吸い出し、ストレージ/データベースなどにロードするためのシンプルな仕組みのツールです。1発実行/日次バッチ処理/定期バッチ処理などのバルク処理に特化しています。

トランザクション制御、データバリデーション、エラー処理、リジューム処理、データクレンジング、繰り返し処理などの機能があり、高速/堅牢に動作します。

プラグイン型アーキテクチャを採用しており、Ruby/Javaで簡単なコードを書くことで、さまざまなデータベース/ファイルフォーマット/ストレージに対して柔軟に対応できます。

Linux、Mac、BSD、Windowsに対応します。

コア部分はJava、プラグイン部分はJRubyで実装されています。

スケジュール実行はcronを使います。

経緯

2015年1月にリリースされました。

「Fluentd」のメインコミッターの一人、古橋貞之氏が中心となり開発されています。

TOPに戻る

主な特徴

プラグインアーキテクチャ

柔軟なプラグイン構造により機能拡張できます。

データを読み込む「InputPlugin」、データを加工する「ExecutorPlugin」、データを出力する「OutputPlugin」、の3つのタイプに分かれています。

さまざまなプラグインが開発されていっています。

設定ファイル(シードファイル)

設定ファイルは「シードファイル」と呼ばれます。

設定パートとして「in」「exec」「out」の3ヵ所があります。「in」でデータの読み込み元を設定、「exec」で読み込んだデータの加工処理、「out」では出力先を設定します。

実行手順

以下の3段階の手順でバルク処理を行います。

1.guessフェーズ
データを一部だけ読み込み、Embulkが自動でスキーマを推定し、設定ファイルを生成します。

2.previewフェーズ
推定作成された設定ファイルのスキーマ情報を元に読み込んだ際のプレビューを行います。想定と異なる場合、設定ファイルを手動で修正します。

3.runフェーズ
完成した設定ファイルを元にして、データの転送を実行します。

高速な並列/分散処理

Embulkは、1回の処理を複数のタスクに分割し、並列に実行する仕組みを備えており、大規模データの高速バルク処理が可能です。

TOPに戻る

主な機能

guess(推測設定)機能

guess(推測設定)機能により、ゼロから設定を書くよりも遥かに素早くデータ処理を開始できます。

リジューム機能

失敗したタスクだけを後からやり直すリジューム機能を備えています。

TOPに戻る

同様製品(概要情報)

同様な機能を提供する製品として、次のようなものがあります。

商用製品:「HULFT」など。

オープンソース製品:「Fluentd」「Logstash」など。

TOPに戻る

導入事例

Embulkは、Fluentdのバッチ版として、大きな注目を集めています。

TOPに戻る

ライセンス情報

Embulkのライセンスは、「Apache License Version 2.0」です。このライセンスに従うことを条件として、ソースコードの改変と公開が許可されています。

TOPに戻る

ダウンロード

ダウンロードページ

TOPに戻る

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

Embulk最新TOPICS

最新情報はありません。

Embulk最新CLOSEUPコラム

  • オープソース書籍(サイド)

OSS×Cloud ACCESS RANKING

  • OSSNEWSに広告を掲載しませんか?

facebook

twitter