tMysqlOutputを使ってカラムの挿入とデータの変更を行う - Cloud - 8.0

MySQL

Version
Cloud
8.0
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-03-07

このJavaシナリオは、tRowGeneratorを使用してランダムデータを作成し、tMapコンポーネントを使用して、変更されるカラムを複製し、最終的にtMysqlOutputコンポーネントを使用して、SQL式に基づいて挿入されるデータを変更する3コンポーネントのジョブです。

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

  • [Palette] (パレット)から、tRowGeneratortMaptMySQLOutputの各コンポーネントをデザインワークスペースにドロップします。

  • [Row Main] (行>メイン)リンクを使用して、tRowGeneratortMap、およびtMysqlOutputを接続します。

  • デザインワークスペースでtRowGeneratorを選択して[Basic settings] (基本設定)ビューを開きます。

  • [Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックし、tMapコンポーネントに渡すデータ、このシナリオでは2つのカラム、nameおよびrandom_dateを定義します。

  • [OK]をクリックしてダイアログボックスを閉じます。

  • [RowGenerator Editor] (RowGeneratorエディター)の横にある[...]ボタンをクリックしてエディターを開き、生成するデータを定義します。

  • 対応する[Functions] (ファンクション)フィールドをクリックし、2つのカラムのそれぞれにファンクションを選択します。最初のカラムにはgetFirstNameを、2番目のカラムにはgetrandomDateを選択してください。

  • [Number of Rows for Rowgenerator] (Rowgeneratorの行数)フィールドに10と入力してファーストネームの行を10行生成し、[Ok]をクリックしてエディターを閉じます。

  • tMapコンポーネントをダブルクリックして、マップエディターを開きます。マップエディターが開き、tRowGeneratorコンポーネントの入力メタデータが表示されます。

  • マップエディターの[Schema editor] (スキーマエディター)パネルで、出力テーブルの[+]ボタンをクリックして行を2つ追加し、最初の行をrandom_date、2番目の行をrandom_date1として定義します。

このシナリオでは、出力コンポーネント内のデータを変更するために、random_dateカラムを複製し、スキーマを変更しようとしています。

  • マップエディターで、random_date行を入力テーブルから出力テーブルのrandom_date行とrandom_date1行にドラッグします。

  • [OK]をクリックして、エディターを閉じます。

  • デザインワークスペースでtMysqlOutputコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示し、パラメーターを定義します。

  • [Repository] (リポジトリー)[Property Type] (プロパティタイプ)を設定し、[...]ボタンをクリックして[Repository content] (リポジトリーコンテンツ)ダイアログボックスを開き、正しいデータベース接続を選択します。対応するフィールドに接続の詳細が自動的に表示されます。

    注:

    [Repository] (リポジトリー)[Metadata] (メタデータ)エントリーにデータベース接続の詳細を保存していない場合は、プロパティタイプリストで[Built-in] (組み込み)を選択し、接続の詳細を手動で設定します。

  • [Table] (テーブル)フィールドの横にある[...]ボタンをクリックし、変更するテーブル(このシナリオではDates)を選択します。

  • [Action on table] (テーブルでのアクション)リストで[Drop table if exists and create] (テーブルが存在する場合はドロップして作成)を選択し、[Action on data] (データでのアクション)リストからInsertを選択します。

  • 必要に応じて、[Sync columns] (カラムを同期)をクリックして、tMapコンポーネントからのカラムと同期します。

  • [Advanced settings] (詳細設定)タブをクリックして対応するビューを表示し、詳細パラメーターを設定するために使われます。

  • [Additional Columns] (追加のカラム)エリアで、カラムに対して実行する変更を設定するために使われます。

    このシナリオでは、random_date_1One_month_laterカラムに置換されます。また、データそのものが、ランダムに取得されたrandom_date_1カラムの日付に1か月を追加するSQL式を使用して変更されます。たとえば、2007-08-12は2007-09-12となります。

    -[Name] (名前)セルにOne_Month_Laterと入力します。

    -[SQL expression] (SQL式)セルに、実行する追加スクリプト(このシナリオでは"adddate(Random_date, interval 1 month)")を入力します。

    -[Position] (位置)リストで[Replace] (置換)を選択します。

    -[Reference column] (参照カラム)リストでRandom_date1と入力します。

注:

このジョブの場合は、1つのインスタンスをOne_Month_Laterカラムに置換する前に、データベーステーブル内のrandom_date_1カラムを複製しました。この対処法の目的は、実行する変更を前もって表示できるようにすることです。

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

データベーステーブル内でrandom_date1カラムが新しいOne_month_laterカラムに置換され、ランダムに生成された各日付に1か月が追加されます。