複数の環境でのプレパレーションを活用するジョブをプロモートする
このシナリオは、サブスクリプションベースのTalend製品にのみ適用されます。
tDataprepRunコンポーネントを使うと、Talend Data Preparationで作成した既存のプレパレーションをデータ統合、Spark Batch、またはSpark Streamingのジョブで直接再利用できます。つまり、プレパレーションを入力データに同じモデルで適用するプロセスの操作を実行できます。
Talend Data Preparationを使う場合は、少なくとも2つの環境を設定して作業することをお勧めします。たとえば、開発環境と本番環境です。開発環境でプレパレーションが整うと、[Import/Export Preparation] (プレパレーションのインポート/エクスポート)機能を使って、URLの異なる本番環境にプロモートできます。詳細は、複数の環境にまたがるプレパレーションのプロモートに関するセクションをご覧ください。
このロジックに従うと、異なる環境で同じ名前のプレパレーションができる可能性があります。問題は、プレパレーションが実際には名前で識別されるのではなく、prepid=faf4fe3e-3cec-4550-ae0b-f1ce108f83d5のようなテクニカルIDで識別されることです。結果として、実際に生成されるのは、それぞれ特定のIDを持つ、2つの区別されたプレパレーションです。
通常のプレパレーション選択プロパティを使ってTalendジョブでこのレシピの稼働準備を行う場合、実際には2つのジョブが必要になります。1つは特定のURLとIDを使う開発環境でのプレパレーション用で、もう1つは異なるパラメーターを使う本番環境用です。
[Dynamic preparation selection] (動的プレパレーションの選択)チェックボックスといくつかのコンテキスト変数を使うと、環境に関係なく、1つのジョブを使ってプレパレーションを実行できます。実際、動的プレパレーションの選択は、プレパレーションIDではなく、Talend Data Preparationのプレパレーションパスに依存しています。
単一のジョブ定義を使って、後で開発環境または本番環境にデプロイできます
以下のシナリオでは、次の操作を実行するシンプルなジョブを作成します。
- 顧客データを含むローカルCSVファイルからデータを受信する
- パスと環境に基づいて既存のプレパレーションを動的に取得する
- プレパレーションを入力データに適用する
- 準備したデータをMySQLデータベースに出力する
この例では、Customers_leadsプレパレーションがTalend Data Preparationで事前に作成済みです。このシンプルなプレパレーションは、このジョブの入力として使われるCSVファイルと同じスキーマを持つデータセットで作成されました。その目的は、顧客データから無効な値を削除することです。