コンポーネントの設定
手順
-
tELTOracleInputコンポーネントをダブルクリックし、[Basic settings] (基本設定)ビューを表示します。
- [Schema] (スキーマ)リストから[Repository] (リポジトリー)を選択し、[Edit schema] (スキーマを編集)の前にある[...]ボタンをクリックします。
-
データベース接続を選択し、必要なスキーマを[Repository Content] (リポジトリーコンテンツ)ダイアログボックスから選択します。
選択したスキーマ名が[Default Table Name] (デフォルトのテーブル名)フィールドに自動的に表示されます。
- このユースケースでは、データベース接続は Talend_Oracle、スキーマはnew_customersです。
- この事例の場合、入力スキーマは[Repository] (リポジトリー)ツリービューの[Metadata] (メタデータ)ノードに保存されて、簡単に取り出せます。メタデータの詳細は、メタデータを管理をご覧ください。
- 入力コンポーネントは、関連スキーマを[Metadata] (メタデータ)エリアからデザインワークスペースにドロップして、[Components] (コンポーネント)ダイアログボックスのtELTOracleInputをダブルクリックして選択することもできます。この方法だと、入力コンポーネントをラベル付けして、スキーマを手動で定義するステップを省略できます。
-
tELTOracleMapコンポーネントをクリックし、[Basic settings] (基本設定)ビューを表示します。
-
[Property Type] (プロパティタイプ)リストから[Repository] (リポジトリー)を選択し、入力コンポーネントに使う同じデータベース接続を選択します。
情報メモ要確認: すべてのデータベースの詳細が自動的に取得されます。その他の設定はそのままにしておきます。
-
tELTOracleMapコンポーネントをダブルクリックしてELT Mapエディターを起動し、データ変換フローを設定するために使われます。
ELT Mapエディタの左上にある[+]ボタンをクリックし、ポップアップダイアログボックスで関連するテーブル名を選択して、入力テーブルを追加します。この事例の場合、唯一の入力テーブルはnew_customersです。
-
入力テーブルの全カラムを選択して出力テーブルにドロップします。
-
[Generated SQL Select query] (生成されたSQL Selectクエリー)タブをクリックして、実行するクエリーステートメントを表示します。
[OK]をクリックして、ELT Map設定を検証し、ELT Mapエディターを閉じます。
-
tELTOracleOutputコンポーネントをダブルクリックし、[Basic settings] (基本設定)ビューを表示します。
- [Action on data] (データでのアクション)リストから[MERGE]を選択します。
- [Sync columns] (カラムを同期)をクリックして、先行のコンポーネントからスキーマを取得します。
- [Use Merge Update] (Merge Updateを使用する)チェックボックスをオンにして、OracleのMERGEファンクションを使ってデータをアップデートします。
-
テーブルが表示されたら、アップデートするカラムのチェックボックスをオンにします。
このユースケースでは、顧客IDに従ってすべてのデータをアップデートします。したがって、IDカラム以外のすべてのチェックボックスをオンにします。情報メモ警告: プライマリキーとして定義されたカラムは、アップデートの対象にすることはできません。
- [Use Merge Insert] (Merge Insertを使用する)チェックボックスをオンにして、OracleMERGEファンクションを使って既存のデータをアップデートすると同時に、新しいデータを挿入します。
-
テーブルが表示されたら、新しいデータを挿入するカラムのチェックボックスをオンにします。
このユースケースでは、すべての新しい顧客データを挿入します。したがって、[Check All] (すべて選択)チェックボックスをオンにしてすべてのチェックボックスをオンにします。
- [Default Table Name] (デフォルトのテーブル名)フィールドに、データベースに既に存在するターゲットテーブルの名前を入力します。この例では、customers_mergeと入力します。
-
その他のパラメーターはそのままにしておきます。