親/子テーブルにデータを挿入する - 7.3

Access

Version
7.3
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 Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for ESB
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
ジョブデザインと開発 > サードパーティーシステム > DBコンポーネント > Access
データガバナンス > サードパーティーシステム > DBコンポーネント > Access
データクオリティとプレパレーション > サードパーティーシステム > DBコンポーネント > Access

次のジョブは、親テーブル Table1を使用して2つの子テーブルNameおよびBirthdayを生成するという複数テーブルの挿入を行う上級データベースユーザー専用です。

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

  • Access 2007で、Database1という名前のAccessデータベースを作成します。

  • Accessデータベースが作成されたら、2つのカラム見出しNameBirthdayを持つTable1という名前のテーブルを作成します。

Talend Studio Integration パースペクティブに、ジョブはtAccessConnectiontAccessCommittAccessInputtAccessOutput tAccessCloseを含む12のコンポーネントを必要とします。

  • 以下のコンポーネントを[Palette] (パレット)からデザインワークスペースにドロップします: tFileListtFileInputDelimitedtMaptAccessOutput (x2)、tAccessInput (x2)、tAccessCommittAccessClosetLogRow (x2)。

  • [Iterate] (反復処理)リンクを使ってtFileListコンポーネントを入力ファイルコンポーネントに接続します。処理されるファイルの名前がグローバル変数を使用してtFileListディレクトリーから動的に入力されます。

  • tFileInputDelimitedコンポーネントをtMapコンポーネントに接続し、2つの出力Accessコンポーネントの間にフローをディスパッチします。メインデータフローを表すこれらの各接続に、[Row] (行)リンクを使用します。

  • ファイルの取得元となるディレクトリーなど、tFileListコンポーネントのプロパティを設定します。

  • tAccessConnectionコンポーネントを追加し、それをこのジョブのスターターコンポーネントに接続します。この例では、tFileListコンポーネントはOnComponentOkリンクを使用して実行順序を定義します。

  • tAccessConnectionコンポーネントビューで、接続の詳細を手動で設定するか、またはMetadata DB接続エントリーとして一元的に保存する場合は、[Repository] (リポジトリー)から取得します。メタデータの詳細は、『 Talend Studio ユーザーガイド 』を参照してください。

  • tFileInputDelimitedコンポーネントの[Basic settings] (基本設定)ビューで、 [Ctrl]+[Space]バーを押して変数リストにアクセスします。[File Name] (ファイル名)フィールドをグローバル変数tFileList_1.CURRENT_FILEPATHに設定します。変数の使い方については、 Talend Studioユーザーガイドを参照してください。

  • 残りのフィールドを通常どおりに設定し、ファイル構造に基づいて行およびフィールドの区切り記号を定義します。

  • 次に、[Edit schema] (スキーマを編集)ダイアログボックスを使用してスキーマを手動で設定するか、[Repository] (リポジトリー)からスキーマを選択します。処理するデータの性質に基づいて、データ型が正しく設定されていることを確認します。

  • tMap出力エリアで、2つの出力テーブルを追加します。1つはNameというテーブルをNameテーブルに、2番目はBirthdayというテーブルをBirthdayテーブルに追加します。tMapコンポーネントの詳細は、 Talend Studioユーザーガイドを参照してください。

  • [Input] (入力)エリアからNameカラムをドラッグし、Nameテーブルにドロップします。

  • [Input] (入力)エリアからBirthdayカラムをドラッグし、Birthdayテーブルにドロップします。

  • 次に出力行リンクを接続して、関連するDB出力コンポーネントにフローを正しく配分するようにします。

  • tAccessOutputコンポーネントの[Basic settings] (基本設定)ビューで、[Use an existing connection] (既存の接続の使用)チェックボックスをオンにして、tAccessConnectionの詳細を取得します。

  • 正しいテーブルに対応するように[Table] (テーブル)名を設定します。この例ではNameまたはBirthdayのいずれかになります。

  • [Action on table] (テーブルへのアクション)ドロップダウンリストからDefaultを選択します。これは、テーブルがすでに存在し、テーブルに対して操作が必要ないためです。

  • 両方の出力コンポーネントのデータに対して[Action on data] (データの操作)として[Insert] (挿入)を選択します。

  • [Sync columns] (カラムの同期)をクリックして、tMapのスキーマセットを取得します。

  • 次に、OnComponentOkリンクを使用して最初のtAccessOutputコンポーネントを最初のtAccessInputコンポーネントに接続します。

  • tAccessInputコンポーネントの[Basic settings] (基本設定)ビューで、[Use an existing connection] (既存の接続の使用)チェックボックスをオンにして、配分されたデータフローを取得します。次に、[Edit schema] (スキーマを編集)ダイアログボックスを使用してスキーマを手動で設定します。

  • それに応じて[Table Name] (テーブル名)を設定します。tAccessInput_1では、これはNameになります。

  • [Guess Query] (クエリーの推測)をクリックします。

  • [Row] (行) > [Main] (メイン)リンクを使用して、各tAccessInputコンポーネントをtLogRowコンポーネントに接続します。各tLogRowコンポーネントの[basic settings] (基本設定)ビューで、[Mode] (モード)フィールドの[Table] (テーブル)を選択します。

  • トランザクションコミットでジョブを終了するために、 デザインワークスペースのtFileListコンポーネントの下にtAccessCommitコンポーネントを追加し、OnComponentOkリンクを使用してそれらを相互に接続します。

  • tAccessCommitコンポーネントの[basic settings] (基本設定)ビューで、[Component list] (コンポーネントリスト)から使用する接続を選択します。このシナリオではtAccessConnection_1です。

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

NameテーブルとBirthdayテーブルを生成するために、親テーブルTable1が再利用されます。