次のJavaシナリオでは、WHERE句を使用して 、MySQLデータベースから特定のテーブル名の反復を実行するコンポーネント3つのジョブを作成します。次に、ユーザー定義のSQLテンプレートを使用して、DBMS上で直接テーブルのコンテンツを削除します。
Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントを参照してください。
高度な用途では、コンテンツを空にするテーブルを含むデータベースへの接続を作成することから始めます。
-
[Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ)を展開し、[DB Connections] (DB接続)を右クリックして、該当するデータベースへの接続を作成し、接続情報をローカルに保存します。
メタデータの詳細は、『 Talend Studio ユーザーガイド』を参照してください。
または、tMySQLConnectionコンポーネントをデザインワークスペースにドロップし、接続の詳細を手動で入力します。
-
作成したデータベース接続を[Repository] (リポジトリー)からデザインワークスペースにドロップします。
[Components] (コンポーネント)ダイアログボックスが表示されます。
-
tMysqlConnectionを選択し、[OK]をクリックします。
tMysqlConnectionコンポーネントがデザインワークスペースに表示され、接続の詳細がすべて[Basic settings] (基本設定)ビューに自動的に入力されます。
-
tMysqlTableListコンポーネントとtELTコンポーネントを[Palette] (パレット)からデザインワークスペースにドロップします。
-
[OnSubjobOk]リンクを使用してtMysqlConnectionをtMysqlTableListに接続します。
-
[Iterate] (反復処理)リンクを使用して、tMysqlTableListをtELTに接続します。
-
必要に応じて、tMysqlConnectionをダブルクリックして[Basic settings] (基本設定)ビューを表示し、接続の詳細を確認します。
このサンプルでは、examplesという名前のMySQLデータベースに接続しようとしています。
-
デザインワークスペースでtMysqlTableListをダブルクリックして[Basic settings] (基本設定)ビューを表示し、設定を定義します。
-
複数の接続を使用している場合は、[Component list] (コンポーネントリスト)で該当するMySQL接続コンポーネントを選択します。
-
対応するフィールドで適切な構文を使用してWHERE句を入力し、コンテンツを削除するテーブル名に反復を実行します。
このシナリオでは、名前が"ex"で始まるすべてのテーブルにジョブで反復を実行しようとしています。
-
デザインワークスペースでtELTをダブルクリックして[Basic settings] (基本設定)ビューを表示し、設定を定義します。
-
[Database Name] (データベース名)に、処理するテーブルを含むデータベースの名前を入力します。
-
複数の接続を使用している場合は、[Component list] (コンポーネントリスト)で該当するMySQL接続コンポーネントを選択します。
-
[Table name] (テーブル名)フィールドをクリックし、[Ctrl] + [Space]を押してグローバル変数リストにアクセスします。
-
グローバル変数リストから((String)globalMap.get("tMysqlTableList_1_CURRENT_TABLE"))を選択します。
ユーザー定義のSQLテンプレートを作成するには、次の手順に従います。
-
[Repository] (リポジトリー)ツリービューで、[SQL Templates] (SQLテンプレート)とMySQLを続けて展開します。
-
UserDefinedを右クリックし、ドロップダウンリストから[Create SQLTemplate] (SQLテンプレートの作成)を選択します。
[New SQLTemplate] (新しいSQLテンプレート)ウィザードが開きます。
-
新しいSQLテンプレートの名前を入力し、必要に応じてその他のフィールドに入力し、[Finish] (終了)をクリックしてウィザードを閉じます。
デザインワークスペースにSQLパターンエディターが開きます。
-
既存のコードを削除し、目的のアクションを実行するために必要なコードを入力し、このサンプルでは、名前が"ex"で始まるテーブルすべてのコンテンツを削除します。
SQLテンプレートコードには、テーブル名パラメーター(このサンプルでは"__TABLE-NAME__")に添付された正しい変数名を使用する必要があります。使用している変数名を表示するには、tELTコンポーネントの基本設定で、[Table Name] (テーブル名)フィールドの上にマウスポインターを置きます。
-
[Ctrl] + [S]を押して、ユーザー定義の新しいSQLテンプレートを保存します。
次のステップでは、ユーザー定義の新しいSQLテンプレートをtELTコンポーネント内のSQLテンプレートリストに追加します。
ユーザー定義のSQLテンプレートをSQLテンプレートリストに追加するには、次の手順に従います。
-
tELTの[Component] (コンポーネント)ビューで、[SQL Templates] (SQLテンプレート)タブをクリックして[SQLTemplate List] (SQLテンプレートリスト)を表示します。
-
[Add] (追加)ボタンをクリックし、2つのSQLテンプレート行を追加します。
-
最初の行をクリックしてドロップダウン矢印を表示し、矢印をクリックしてSQLテンプレートリストを表示します。
-
作成済みのユーザー定義SQLテンプレートをリストから選択します。
-
2行目のSQLテンプレートが[Commit] (コミット)であることを確認します。
-
ジョブを保存し、[F6]を押して実行します。
名前が"ex
"で始まるMySQL examples
データベース内のテーブルはすべて、コンテンツから削除されています。