Meltano のプラグインの使い方
この記事では、Meltano のプラグインの使い方について紹介します。
プラグインの追加
meltano add
コマンドを実行するか、meltano.yml
ファイルを直接編集してmeltano install
コマンドを実行することにより、プラグインを追加することができます。
Discoverable plugins
meltano がサポートしている(meltano add
で見つけることができる)extractor や loader は公式ドキュメントでは「Discoverable plugins」と表現されています。Discoverable plugins では、meltano add
コマンドでプラグインを追加することができます。
上記のコマンドを実行するとmeltano.yml
ファイルのplugin
セクションが以下のようになります。
同じ extractor や loader でもいくつか種類がある場合があり、その種類を公式ドキュメントでは「variant」と表現されています。variant を指定せずにmeltano add
を実行すると meltano が推奨する variant が自動的に選択されます。
variant を指定する場合は以下のようにコマンドを実行します。
複数の variant をインストールしたい場合は、以下のようなコマンドを実行します。
カスタムプラグイン
Discoverable plugins に所望のプラグインが存在しない場合は、meltano add
コマンドに--custom
オプションを追加することで任意の Singer tap や Singer target を追加することができます。公式ドキュメントに従い、Discoverable plugins に存在しない extractor を追加します。
上記コマンドを実行するとインタラクティブな質問に回答していきます。
meltano.yml
ファイルのplugins
セクションに tap-covid-19 extractor が追加されています。
プラグインの継承
Discoverable plugin を継承して、別名でインストールしたい場合はオプションに--inherit-from
もしくは--as
を追加します。
meltano.yml
ファイルのplugins
セクションは以下のようになります。
特定のプラグインのバージョンを指定
特定のプラグインバージョンを利用したい場合は、以下のようにmeltano.yml
ファイルのpip_url
を記述します。
プラグインの削除
meltano remove
コマンドにより、プラグインを削除することが可能です。
カスタムフォークしたプラグインの利用
フォークしたプラグインのレポジトリを資料したい場合は、以下のようにmeltano.yml
ファイルのplugins
セクションにあるpip_url
の値を修正し、meltano install
コマンドを実行します。
プラグインのレポジトリがプライベートである場合は、以下の2通りの手段で対応します。
variant の変更
既存の variant が存在し、別の variant に切り替えたい場合は、新しい variant を追加するか、既存の variant を上書きします。
ここでは、既存の variant を上書きする方法を行います。meltano.yml
ファイルのplugins
セクションを以下のように変更します。
次に、meltano install
コマンドを実行します。
variant が異なるとコンフィグの値も異なることが多いです。meltano.yml
ファイルを以下のように修正します。
古いコンフィグ値がある場合は以下のコマンドで新しい値をセットすることができます。
参考

備考
Hakky ではエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
