ユーザー定義のSQLテンプレートを使って、データベーステーブルで反復を実行し、そのコンテンツを削除する - 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 Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > MySQL
データガバナンス > サードパーティーシステム > DBコンポーネント > MySQL
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > MySQL
Last publication date
2024-02-22

以下のJavaシナリオでは、WHERE句を使用して 、MySQLデータベースからの特定のテーブル名で反復処理される3コンポーネントのジョブを作成します。次に、ユーザー定義のSQLテンプレートを使用して、DBMS上で直接テーブルのコンテンツを削除します。

Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。

高度な用途では、コンテンツを空にするテーブルを含むデータベースへの接続を作成することから始めます。

  • [Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ)を展開し、[DB Connections] (データベース接続)を右クリックして、該当するデータベースへの接続を作成し、接続情報をローカルに保存します。

    メタデータの詳細は、Talend Studioユーザーガイドをご覧ください。

    またはtMysqlConnectionコンポーネントをデザインワークスペースにドロップし、接続の詳細を手動で入力します。

  • 作成したデータベース接続を[Repository] (リポジトリー)からデザインワークスペースにドロップします。

    [Components] (コンポーネント)ダイアログボックスが表示されます。

  • tMysqlConnectionを選択し、[OK]をクリックします。

    デザインワークスペースにtDBConnection_1コンポーネントが表示され、接続の詳細がすべて[Basic settings] (基本設定)ビューに自動的に入力されます。

  • [Palette] (パレット)から、tMysqlTableListコンポーネント(tDBTableList_1として表示)とtSQLTemplateコンポーネントをデザインワークスペースにドロップします。

  • [On Subjob Ok] (サブジョブがOKの場合)リンクを使って、tDBConnection_1tDBTableList_1に接続させます。

  • [Iterate] (反復処理)リンクを使って、tDBTableList_1tSQLTemplate に接続させます。

  • 必要であれば、tDBConnection_1をダブルクリックして[Basic settings] (基本設定)ビューを表示し、接続の詳細を確認します。

このサンプルでは、examplesという名前のMySQLデータベースに接続しようとしています。

  • デザインワークスペースでtDBTableList_1をダブルクリックして[Basic settings] (基本設定)ビューを表示し、設定を定義します。

  • 複数の接続が使われている場合は、[Component list] (コンポーネントリスト)ドロップダウンリストで該当するMySQL接続コンポーネントを選択します。

  • 対応するフィールドで適切な構文を使用してWHERE句を入力し、コンテンツを削除するテーブル名に反復を実行します。

    このシナリオでは、名前がexで始まるすべてのテーブルでジョブを反復処理します。

  • デザインワークスペースでtSQLTemplate_1をダブルクリックして[Basic settings] (基本設定)ビューを表示し、設定を定義します。

  • [Database Name] (データベース名)フィールドに、処理するテーブルが含まれているデータベースの名前を入力します。

  • 複数の接続が使われている場合は、[Component list] (コンポーネントリスト)ドロップダウンリストで該当するMySQL接続コンポーネントを選択します。

  • [Table name] (テーブル名)フィールドをクリックし、Ctrl + スペースを押してグローバル変数リストにアクセスします。

  • グローバル変数リストで、tDBTableList_1_CURRENT_TABLEを選択します。

ユーザー定義のSQLテンプレートを作成するには、次の手順に従います。

  • [Repository] (リポジトリー)ツリービューで、[SQL Templates] (SQLテンプレート)MySQLを続けて展開します。

  • UserDefinedを右クリックし、ドロップダウンリストから[Create SQLTemplate] (SQLテンプレートの作成)を選択します。

    [New SQLTemplate] (新しいSQLテンプレート)ウィザードが開きます。

  • 新しいSQLテンプレートの名前を入力し、必要に応じてその他のフィールドに入力し、[Finish] (終了)をクリックしてウィザードを閉じます。

    デザインワークスペースにSQLパターンエディターが開きます。

  • 既存のコードを削除し、目的のアクションを実行するために必要なコードを入力し、このサンプルでは、名前が"ex"で始まるテーブルすべてのコンテンツを削除します。

注:

SQLテンプレートコードでは、テーブル名パラメーター(この例では__TABLE-NAME__)に添付された正しい変数名を使用する必要があります。使用されている変数名を表示するためには、tSQLTemplate_1コンポーネントの基本設定で[Table Name] (テーブル名)フィールドにマウスポインターを置きます。

  • Ctrl + Sを押して、ユーザー定義の新しいSQLテンプレートを保存します。

次のステップは、ユーザー定義の新しいSQLテンプレートをtSQLTemplate_1コンポーネントのSQLテンプレートリストに追加することです。

ユーザー定義のSQLテンプレートをSQLテンプレートリストに追加するには、次の手順に従います。

  • tSQLTemplate_1[Component] (コンポーネント)ビューで、[SQL Templates] (SQLテンプレート)タブをクリックして[SQL Template List] (SQLテンプレートリスト)を表示します。

  • [Add] (追加)ボタンをクリックし、2つのSQLテンプレート行を追加します。

  • 最初の行をクリックしてドロップダウン矢印を表示し、矢印をクリックしてSQLテンプレートリストを表示します。

  • 作成済みのユーザー定義SQLテンプレートをリストから選択します。

  • 2行目のSQLテンプレートが[Commit] (コミット)であることを確認します。

  • ジョブを保存し、F6を押して実行します。

名前がexで始まるMySQL examplesデータベース内のテーブルがすべて、コンテンツから削除されます。