ユーザー定義のSQLテンプレートを使用して、DBテーブルで反復を実行し、そのコンテンツを削除する - 7.3

MySQL

Version
7.3
Language
日本語 (日本)
Product
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > MySQL
データガバナンス > サードパーティーシステム > DBコンポーネント > MySQL
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > MySQL

次の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]リンクを使用してtMysqlConnectiontMysqlTableListに接続します。

  • [Iterate] (反復処理)リンクを使用して、tMysqlTableListtELTに接続します。

  • 必要に応じて、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データベース内のテーブルはすべて、コンテンツから削除されています。