目的
Talendでジョブを作成〜実行までの流れを大雑把に把握したい。
Talendとは
- ETL製品で様々なデータを統合・連携するためのツールを提供しています。
- Talend Open StudioというGUIベースのツールでデータ連携などのジョブを作成できます。
- 作成したジョブはJavaアプリのためJVM上で実行可能です。
ジョブ作成から実行までの流れ
以下の処理を行うジョブを作成する前提で記載していきます。 ※使用ツールは無償版です。
- クラウドサービスからCSVを取得
- CSVのデータを加工
- 加工済みデータをDBに登録
全体の流れ
ローカル環境でジョブを作成し、作成したジョブを実行したい環境に配置します。
ジョブの作成
GUIベースでジョブの作成ができます。
eclipseをベースにしているので開発者にとっては馴染みやすそうです。
※GUIのイメージはこちらの記事をどうぞ
クラウドサービス(AWSなど)やDBへの接続情報をGUI上で設定できます。
設定用のコンポーネント(部品)もTalend側でいくつか用意されているのでスムーズに設定が可能です。
外部で作成した処理(jarファイル)を取り込むこともできます。
マッピングなどの単純な処理はTalend上で作成し、
複雑な処理などは他の環境・ツールで作成したjarファイルを取り込むことで、
Talend上で作成しなくて済みます。
ローカル環境でもジョブの実行ができます。
開発環境として動作検証などに利用することもできます。
作成したジョブをjar形式で出力できます。
ジョブの配置でも説明しますが、jarが読み込める環境であればどこでも起動させることができます。
ジョブの配置
実行環境の必須条件
サーバ上にJVMが導入されていること。
クラウドサービスやDBなどにアクセスできるネットワークに所属していること。
実行方法
ジョブ管理ツールに配置したjarファイルを読み込ませることでスケジュール起動やログ監視などが可能です。
クラウドサービス(AWSのLambdaなど)上に配置することでもジョブの実行が可能です。
また、cronやタスクスケジューラから直接プログラム(jar)を叩くこともできなくはないです。(非推奨)
Talend有償版
有償版のTalendだと以下2つの環境が提供されるそうです。
運用管理サーバ
複数人でのジョブ作成の管理・同期を行えます。
また、無償版では手動で行っていたジョブ実行サーバへのジョブの配置・展開やスケジューリングを
運用管理サーバを通じて実施することができます。
ジョブ実行サーバ
ジョブ実行サーバが複数台提供されるため、ジョブの並列実行を行えます。
更に仮想化することでロードバランシングや自動フェールオーバなども可能になります。
まとめ
ジョブ作成〜実行までの大雑把な流れは把握できたかと思います。
ジョブ作成後の流れはeclipseでJAVAのプログラムを作成する時と同じなので、
開発者であればイメージはしやすいかと。
既存でジョブ管理ツールを導入していれば、そこに相乗りさせるのもありかと。