ソースファイルからデータベースにダイナミックカラムを書き込む - 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

このシナリオは、サブスクリプションベースのTalend製品にのみ適用されます。

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

このシナリオでは、デモンストレーションの目的でMySQLを使用しています。ソースファイルからダイナミックカラムを読み取り、マッピングして[MySQL]データベースのテーブルに書き込みます。ダイナミックなカラムを既知のカラム名と合わせて定義することにより、不明なカラムを含め、すべてのカラムをソースファイルから取得できます。

  • tFileInputDelimitedtMap、およびtMysqlOutputコンポーネントをワークスペースにドロップします。
  • [Row] (行) > [Main] (メイン)接続を使用して、tFileInputDelimitedtMapにリンクします。
  • [Row] (行) > [*New Output* (Main)] (*新規出力*: メイン)接続を使用して、tMaptMysqlOutputにリンクします。
  • tFileInputDelimitedをダブルクリックし[Component] (コンポーネント)タブの[Basic Settings] (基本設定)ビューを開きます。
警告: ダイナミックスキーマ機能は、[Built-In] (組み込み)モードでのみサポートされています。
  • [Property Type] (プロパティタイプ)リストから[Built-In] (組み込み)を選択します。
  • [File name/Stream] (ファイル名/ストリーム)フィールドの横にある[...]ボタンをクリックし、入力ファイルを参照します。
  • [Row Separator] (行区切り)および[Field Separator] (フィールド区切り)フィールドのとなりで、区切りとして使用する文字を入力します。
  • [Edit Schema]をクリックして、ソースファイルスキーマを定義します。

    [Edit Schema] (スキーマを編集)ダイアログボックスが開きます。

  • 必要な数の行を追加するか、およびボタンを使用して行を削除します。
  • ボタンとボタンを使って、カラムの順番を変更できます。
  • [Column] (カラム)の下に、既知のカラムの名前をそれぞれ別々の行に入力します。
  • 最後の行の[Column] (カラム)の下に、ダイナミックカラムの名前を入力します。
  • [Type]の下で、フィールドをクリックして、対応するカラムのデータの種類を定義します。

    矢印をクリックして、正しいデータ型を選択します。

警告: [Type] (タイプ)の下で、ダイナミックカラムタイプは[Dynamic] (ダイナミック)に設定する必要があります。
警告: ダイナミックカラムはスキーマの最後の行で定義する必要があります。
  • ソーススキーマの定義が完了したら、[OK]をクリックしてダイアログボックスを閉じます。
  • tMapをクリックして、[Component] (コンポーネント)タブの[Basic Settings] (基本設定)ビューを開きます。
  • [Map Editor]の横にある[...]をクリックして、ソースファイルのカラムをマッピングします。
  • ウィンドウの右上の[Output Panel] (出力パネル)の上部のツールバーで、ボタンをクリックします。

    [Add an Output] (出力の追加)でスキーマダイアログボックスが表示されます。

  • [New output] (新規出力)のとなりで、出力スキーマの名前を入力します。
  • [OK]をクリックしてダイアログボックスを閉じます。
  • [Ctrl + クリック]で、左側の入力スキーマのカラム名をすべてハイライトし、出力スキーマにドロップします。

    出力カラムにドロップされたカラムは元の値を保持し、1対1で自動的にマッピングされます。

  • 出力スキーマで[Expression] (式)の下の該当する行をクリックし、[Expression Builder] (式ビルダー)を使用して、出力の対応するカラムの詳細パラメーターを設定するために使われます。
  • [...]ボタンをクリックすると、[Expression Builder] (式ビルダー)が開き、必要に応じてパラメーターを設定できます。

式ビルダーの使い方は、式ビルダーを使ってコードを作成をご覧ください。

警告: ダイナミックカラムは1対1でマッピングする必要があり、途中で変換することはできません。フィルター式や変数セクションでは使用できません。出力テーブルで名前を変更することはできず、結合条件として使用することはできません。
  • [OK]をクリックして、[Map Editor] (マップエディター)を閉じます。
  • tMysqlOutputをダブルクリックし、[Component] (コンポーネント)タブの[Basic Settings] (基本設定)を設定するために使われます。
  • [Property Type] (プロパティタイプ)として[Built-In] (組み込み)を選択します。
  • 対応するリストから[DB Version] (データベースバージョン)を選択します。
  • [Host] (ホスト)のとなりにデータベースサーバーのIPアドレスを入力します。
  • [Port] (ポート)のとなりにデータベースサーバーのリスニングポート番号を入力します。
  • [Username] (ユーザー名)および[Password] (パスワード)フィールドに認証データを入力します。
  • [Action on data] (データでのアクション)のとなりで必要な操作を選択します。
  • [Action on data] (データでのアクション)のとなりで必要な操作を選択します。
  • [Schema type][Built-in]として設定し、 [Edit schema] (スキーマを編集)をクリックして、必要に応じてスキーマを変更します。
  • F6を押してジョブを実行します。

    テーブルは、不明だったカラムのデータおよびカラム名と共にMySQLデータベースに書き込まれます:

注: ジョブは[Traces Debug] (トレースデバッグ)モードで実行することも可能です。その場合は、ワークスペースで出力ファイルに書き込む時に行を表示できます。

ダイナミックスキーマの定義とマッピングの方法は、ダイナミックスキーマをご覧ください。

ダイナミックカラムを出力ファイルに書き込む方法の例は、tmysqlinput-tfileoutputdelimited_tmap-tfileoutputdelimited_tmap_writing-dynamic-columns-from-a-database-to-an-output-file_standard_component_enterprise_in-this-sc_c.htmlをご覧ください。