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という機能を使っているらしい)
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
Embulkのコマンドファイルを置いておく場所はどこでもいいのだが、プラグインを追加インストールすると%USERPROFILE%\.embulk
というディレクトリーにファイルが置かれるので、コマンドファイルもそこに入れておくのが良さそう。
%USERPROFILE%\.embulk\bin
というディレクトリーを作成する。http://dl.embulk.org/embulk-latest.jar
」https://bintray.com/artifact/download/embulk/maven/embulk-0.6.21.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 0.9以前では、プラグインは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 0.10以降に対応したプラグインはMavenのローカルリポジトリーにインストールする必要があり、0.9以前のembulk gemコマンドではインストールできない。[2024-06-02]
mvnコマンドを利用してプラグインのjarファイルをダウンロードする。
$ export m2_repo=〜 $ mvn dependency:get -Dartifact=io.github.hishidama.embulk:embulk-input-tsurugidb:0.1.5
その後、Embulkのプロパティーファイル(Linuxの場合は$HOME/.embulk/embulk.properties
、Windowsの場合は%USERPROFILE%\.embulk\embulk.properties
)に設定を追加する。
plugins.input.tsurugidb=maven:io.github.hishidama.embulk:tsurugidb:0.1.5
※設定ファイルに記述するのはアーティファクトIDではなく、「embulk-XXX-」を取り除いた部分。
Embulk 0.11.3でinsutallコマンドが追加された。これを使ってプラグインをインストールする。[2024-06-02]
(Mavenローカルリポジトリーにjarファイルがダウンロードされる)
installコマンドにMavenの「グループID:
アーティファクトID:
バージョン」を指定する。
$ java -jar embulk-0.11.3.jar install io.github.hishidama.embulk:embulk-input-tsurugidb:0.1.5
その後、Embulkのプロパティーファイル(Linuxの場合は$HOME/.embulk/embulk.properties
、Windowsの場合は%USERPROFILE%\.embulk\embulk.properties
)に設定を追加する。
plugins.input.tsurugidb=maven:io.github.hishidama.embulk:tsurugidb:0.1.5
※設定ファイルに記述するのはアーティファクトIDではなく、「embulk-XXX-」を取り除いた部分。
インストールされている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