データベーステーブルの反復処理とそのカラム名のリスト表示
以下のJavaシナリオでは、WHERE句を使用して 、MySQLデータベースからの特定のテーブル名で反復処理される5コンポーネントのジョブを作成して、テーブル内に存在するカラム名をすべてリスト表示します。
Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。
-
[Palette] (パレット)から、tMysqlConnection、tMysqlTableList、tMysqlColumnList、tFixedFlowInput、tLogRowという各コンポーネントをデザインワークスペースにドロップします。
-
[On Subjob Ok] (サブジョブがOKの場合)リンクを使って、tDBConnection_1をtDBTableList_1に接続させます。
-
[Iterate] (反復処理)リンクを使って、tDBTableList_1、tDBColumnList_1、tFixedFlowInput_1を接続させます。
-
[Row Main] (行メイン)リンクを使ってtFixedFlowInput_1をtLogRow_1に接続させます。
-
デザインワークスペースでtDBConnection_1を選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。
-
[Basic settings] (基本設定)ビューで、データベース接続の詳細を手動で設定します。メタデータデータベース接続エントリーとしてローカルに保存した場合は、コンテキスト変数リストから選択し、Ctrl + スペースを使って対応するフィールドをクリックします。
メタデータの詳細は、Talend Studioユーザーガイドをご覧ください。
この例では、customersというMysqlデータベースに接続します。
-
デザインワークスペースでtDBTableList_1を選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。
-
複数の接続が使われている場合は、[Component list] (コンポーネントリスト)ドロップダウンリストで該当するMySQL接続コンポーネントを選択します。
-
対応するフィールドの適切な構文を使用してWhere句を入力し、コンソールに表示するテーブル名を反復処理します。
このシナリオでは、反復処理を行うテーブルにはcustomerという名前が付けられています。
-
デザインワークスペースでtDBColumnList_1を選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。
-
複数の接続が使われている場合は、[Component list] (コンポーネントリスト)ドロップダウンリストで該当するMySQL接続コンポーネントを選択します。
-
[Table name] (テーブル名)フィールドに、カラム名を表示するデータベーステーブルの名前を入力します。
このシナリオでは、[customer]というデータベーステーブルに存在するカラムをリスト表示します。
-
デザインワークスペースでtFixedFlowInputを選択し、[Component] (コンポーネント)タブをクリックして基本設定を定義します。
-
[Built-In] (組み込み)に[Schema] (スキーマ)を設定し、[Edit Schema] (スキーマを編集)の横にある[...]ボタンをクリックして、入力に使用するデータを定義します。このシナリオでは、スキーマは2つのカラムで設定され、最初はテーブル名、2番目はカラム名になります。
-
[OK]をクリックしてダイアログボックスを閉じ、メッセージで指示されたら変更をプロパゲートすることを許可します。[Basic settings] (基本設定)ビューの[Values] (値)パネルに、定義済みのカラムが表示されます。
-
[Use Single Table] (単一テーブルを使用)を選択し、[Values] (値)テーブルのValuesカラムにカーソルを置き、Ctrl + スペースを押してグローバル変数リストにアクセスします。
-
グローバル変数リストで、TableName行にtDBTableList_1_CURRENT_TABLEを、ColumnName行にtDBColumnList_1_COLUMN_NAMEをそれぞれ選択します。
-
デザインワークスペースで、tLogRowを選択します。
-
[Component] (コンポーネント)タブをクリックし、必要に応じてtLogRowの基本設定を定義します。
-
ジョブを保存し、F6を押して実行します。
データベーステーブルの名前がすべてのカラム名と共にコンソールに表示されます。