S-JIS[2015-08-08/2017-05-15] 変更履歴

Embulkインストール

Embulkのインストールのメモ。


概要

Embulkの実行環境へのインストールは、Embulkのコマンドファイルをダウンロードするだけ。
(Embulkを実行するにはJavaがインストールされている必要がある)

このコマンドファイルはjarファイルのように見える(jarファイルとして扱うことが出来る)が、
UNIXマシン上で実行権限を与えればUNIXのコマンド(シェルスクリプト)として実行することが出来る。
Windowsマシン上であれば、拡張子を「.bat」に変えてやればWindowsのコマンド(バッチファイル)として実行することが出来る。
(という変態的技巧的なファイルになっている^^;
ダウンロードしたファイル(v0.6.21)の先頭160行くらいを見てみると、DOSのバッチとUNIXのシェルスクリプトが書かれ、その後にjarのバイナリーが入っているのが分かる。
先頭行の「: <<BAT」がポイント。
DOSの場合はコロンはラベル定義として扱われ(実質無視され)、後続行をバッチとして実行する。exit /bで終わっているので、その後にあるUNIXのシェルスクリプト部分は実行されない(のでエラーにならない)。
UNIXの場合はコロンは何もしない命令なので、「<<BAT」はヒアドキュメントの開始として認識され、DOSのバッチ部分はドキュメントとして扱われる(実質無視される)
また、zipファイル(jarファイル)では、ファイルの前後に任意のデータが付加できる(ZIPのセントラルディレクトリーがファイルの末尾にあり、そこからの相対オフセットで各データにアクセスするので、ファイルの先頭に何が付いていても関係ない)らしい。参考: hito4_tさんのEmbulkをWindowsで正しく起動する

0.4.6以降は、jarファイルとしてではなくコマンドとして扱う方がお勧めらしい。


プラグインEmbulkのコマンドを使ってインストールする。
(これはRubyのgem(ジェム)という機能を使っているらしい)


実行環境(UNIX)へのインストール

Embulkのコマンドファイルを置いておく場所はどこでもいいのだが、プラグインを追加インストールすると$HOME/.embulkというディレクトリーにファイルが置かれるので、コマンドファイルもそこに入れておくのが良さそう。

$ cd $HOME
$ mkdir -p .embulk/bin
$ cd .embulk/bin
$ wget -O embulk http://dl.embulk.org/embulk-latest.jar
$ chmod +x embulk

ダウンロード元URLに「http://dl.embulk.org/embulk-latest.jar」を指定すると、最新版がダウンロードされる。
バージョンを指定したい場合は「https://bintray.com/artifact/download/embulk/maven/embulk-0.6.21.jar」といったURLを指定する。

最後に、embulkコマンドにパスを通しておくと後々便利。


インストールできたかどうかの確認。

$ $HOME/.embulk/bin/embulk --help
Embulk v0.6.21
usage: <command> [--options]
commands:
〜

jarファイルとして扱いたい場合は以下のようにする。

$ java -jar $HOME/.embulk/bin/embulk --help

実行環境(Windows)へのインストール

Embulkのコマンドファイルを置いておく場所はどこでもいいのだが、プラグインを追加インストールすると%USERPROFILE%\.embulkというディレクトリーにファイルが置かれるので、コマンドファイルもそこに入れておくのが良さそう。

  1. %USERPROFILE%\.embulk\binというディレクトリーを作成する。
  2. 作成したディレクトリーにjarファイルをダウンロードする。
  3. ダウンロードしたjarファイルを「embulk.bat」というファイル名に変更する。

最後に、embulkコマンドにパスを通しておくと後々便利。


インストールできたかどうかの確認。

> %USERPROFILE%\.embulk\bin\embulk --help
Embulk v0.6.21
usage: <command> [--options]
commands:
〜

jarファイルとして扱いたい場合は以下のようにする。

> java -jar %USERPROFILE%\.embulk\bin\embulk.bat --help

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

プラグインは、Embulkのgemコマンドを使ってインストールする。

例えばembulk-input-mysqlというプラグインをインストールする場合、以下のようなコマンド(UNIXの場合)を実行する。

$ $HOME/.embulk/bin/embulk gem install embulk-input-mysql

$ $HOME/.embulk/bin/embulk gem list
2015-08-08 09:15:47.692 +0900: Embulk v0.6.21

*** LOCAL GEMS ***

embulk-input-mysql (0.6.0)
〜

プラグインのファイルが実際に置かれる場所は、UNIXの場合は「$HOME/.embulk/jruby/バージョン/gems」、Windowsの場合は「%USERPROFILE%\.embulk\jruby\バージョン\gems」である。

gems/プラグインディレクトリー/classpath」というディレクトリーにあるjarファイルが実行時に使われる。[2017-01-27]


Embulkがインストールすることの出来るプラグイン一覧(リモートにあるプラグイン)は以下のコマンドで表示できる。

$ $HOME/.embulk/bin/embulk gem list -r embulk
2015-08-08 17:12:18.081 +0900: Embulk v0.6.21

*** REMOTE GEMS ***

embulk (0.6.21)
embulk-decoder-commons-compress (0.3.0)
embulk-encoder-xz (0.1.0)
embulk-executor-mapreduce (0.1.5)
embulk-filter-column (0.1.6)
〜

アップデート(バージョンアップ)

インストールされているEmbulkを最新バージョンに更新するには、以下のコマンドを実行するだけでよい。[2015-08-28]

$ embulk selfupdate
2015-08-28 12:24:44.637 +0900: Embulk v0.6.21
Checking the latest version...
Found new version 0.7.3.
Downloading https://dl.bintray.com/embulk/maven/embulk-0.7.3.jar ...
Updated to 0.7.3.

なお、引数としてバージョンを指定すれば、そのバージョンにアップデートしてくれるようだ。


Windowsにインストールした状態だと、selfupdateは出来ないっぽい。[2017-05-15]
selfupdateを実行すると途中でエラーになる。
この状態で新たなEmbulkをインストールすると、インストールされていたプラグインは使えなくなる(再度インストールし直す必要がある)ので注意。

selfupdateせずに手動で新しいembulkをインストールすると、インストールされていたプラグインはそのまま継続して使える。


プラグインのバージョンアップ(アップデート)

プラグインをバージョンアップするには、以下のようなコマンドを実行する。[2015-10-24]

$ embulk gem update embulk-parser-poi_excel

Embulk目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま