Embulkの環境構築

Embulk
スポンサーリンク

Embulkとは

ファイルやデータベースからデータを吸い出し、別のストレージやデータベースにロードするためのコンパクトなツールです。

  • プラグインアーキテクチャ
  • 高速な並列・分散処理
  • 設定ファイルの推測と提案
  • リトライとリジューム
  • オープンソース

Embulkを使う手順

環境構築

EmbulkはJavaの環境が必要となりますので、もしJavaの環境が整っていないかたはJavaのインストールが必要となります。

  • Javaをインストール
  • Embulkをインストール

使い方

  • 必要となるプラグインをインストール
  • seed.ymlを作成
  • guessコマンドで設定ファイル(config.yml)を生成
  • config.ymlを編集
  • previewコマンドで確認
  • runコマンドで実行

環境構築

Javaのインストール

embulkのインストール

使い方

Embulkの基本的な使い方としてはプラグインアーキテクチャなので、用途に応じたプラグインをインストールして使っていくことになります。
インプットとアウトプットについて記載した最低限の設定ファイル(seed.yml)を作成して、
guessコマンドによってそのseed.ymlからスキーマを推定し、実行に使う設定ファイルを生成します。

プラグイン

プラグインに関してはQiitaの記事によくまとまっておりますのでリンクを張っておきます。
Embulk(エンバルク)プラグインのまとめ

プラグインのインストール

サンプル

Embulkにはexampleというコマンドがあり、サンプル的に流れを確認できるものがあるので、
それを使って今回は説明していきます。
まずはemapleコマンドで環境をつくります。

コマンドを実行するとtry1のディレクトリができその中には
csvディレクトリとseed.ymlが生成されます。
csvディレクトリにはインプットデータのもととなるsample_01.csv.gzが格納されています。

seed.ymlはこのようになっています。
実際にはここを最初に自分で作っていく必要があります。

次にguessコマンドで設定ファイルを作成します。

config.ymlの中身は下の通りです。

guessコマンドによってファイルの中身からカラムなどの情報を推定して設定ファイルを作成してくれることがわかるかと思います。

注意するべき点としては、時間のカラムについてはtimestampになるので、
用途に応じて、自分でtypeを変更する必要があります。

次に、previewコマンドを使用して、意図通りのデータが出てくるかどうかを事前に確認することができます。

そこで問題がないようであれば、実行します。

これで、基本的なembulkの使い方は以上になります。
MySQLやOracleなど他の例については追々、あげていきたいと思います。

コメント

タイトルとURLをコピーしました