メイン コンテンツをスキップする 補完的コンテンツへスキップ

ダイナミックスキーマ

このタスクについて

Talend Studioでは、ジョブ内の特定のコンポーネントのスキーマにダイナミックカラムを追加できます。ダイナミックカラムは、スキーマ内の唯一のカラムで構成されている場合もあれば、既知のカラム(スキーマの最後のカラムなど)の後に追加されることもあります。

ダイナミックカラムでは、スキーマで定義されていないカラムが取得されます。そのため、ジョブの設計時は不明なソースカラムが実行時には認知され、スキーマに追加されます。それによってジョブデザインが非常に容易になり、多くのカラムで一対一によるマッピングが可能になります。ダイナミックカラムには用途が数多くあります。たとえば、開発者はデータ移行タスクで、カラムを個別にマッピングせずにデータのカラムを他の場所にコピーできます。

スキーマエディタで設定された静的オブジェクト(データパターンやデフォルト値など)はダイナミックカラムには考慮されないので、注意が必要です。

情報メモ警告: ダイナミックスキーマの機能により、スタティックでない方法でスキーマを設定できます。そのため、将来スキーマを変更する時にジョブを再デザインする必要がなく、しかも常に機能することが保証されています。ただし、使用するスキーマが処理する実際のデータのスキーマに100%正確に固定されるという保証はありません。

ダイナミックスキーマ機能によってジョブデザインは非常に容易になりますが、すべてのコンポーネントで動作するわけではありません。この機能をサポートしているコンポーネントのリストを参照するには、<install_dir>/plugins/に移動し(<install_dir>Talend Studioのインストールディレクトリー)、jarファイルorg.talend.core.tis_<version>.jarを抽出し、resourcesフォルダーにあるテキストファイルsupportDynamic.txtを取得します。

情報メモ警告: データベース入力コンポーネントでは、選択されたテーブルからすべてのカラムが取得されるよう、SELECTクエリーに*(ワイルドカード)を含める必要があります。

ダイナミックスキーマの定義の詳細は、ダイナミックスキーマカラムを定義をご覧ください。

ダイナミックカラムのマッピングの詳細は、ダイナミックカラムをマッピングをご覧ください。

ジョブでダイナミックスキーマ機能を使用する例は、Dynamic Schemaをご覧ください。

ダイナミックスキーマカラムを定義

ダイナミックスキーマカラムは簡単に定義できます。[Databases] (データベース)[Input] (入力)コンポーネントや[Output] (出力)コンポーネントに、またはtFileInputDelimitedtFileOutputDelimitedにダイナミックカラムを定義するには、次の手順に従います。

Procedure

  1. コンポーネントの[Basic settings] (基本設定)タブで、[Property Type] (プロパティタイプ)[Built-In] (組み込み)に設定します。
    情報メモWarning: ダイナミックスキーマは[Built-In] (組み込み)モードでのみサポートされています。
  2. [Edit schema] (スキーマを編集)をクリックし、スキーマを定義します。
    [Schema](スキーマ)ダイアログボックスが開きます。
    [スキーマ]ダイアログボックス。
  3. スキーマに追加された最後の行に、[Column] (カラム)フィールドのダイナミックカラムの名前を入力します。
    情報メモWarning: データベース入力コンポーネントでは、選択されたテーブルからすべてのカラムが取得されるよう、SELECTクエリーに*(ワイルドカード)を含める必要があります。
  4. [Type] (タイプ)フィールドをクリックし、表示される矢印をクリックして、リストから[Dynamic] (ダイナミック)を選択します。

ダイナミックカラムをマッピング

About this task

tMapコンポーネントでのダイナミックカラムのマッピングは、[Map Editor] (マップエディター)を使用する場合と同様に容易です。入力スキーマから出力スキーマにダイナミックカラムをドロップするだけでは、どのカラム値も変更されません。

[マップエディター]。

ただし、次の制限事項が適用されます。

  • ダイナミックカラムは1対1でマッピングする必要があり、途中で変換することはできません。
  • ダイナミックカラムはフィルター式や変数では使用できません。
  • ダイナミックカラムは出力テーブルでは名前を変更できないほか、結合条件として使用することもできません。
情報メモNote: ダイナミックスキーマでは、マッピング先が複数になったり、マッピング元のルックアップ入力が複数になることもあります。

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

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