メイン コンテンツをスキップする

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

この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か月が追加されます。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。