[TOSチュートリアル06] tMapコンポーネントによる2つのデータソースの結合
このチュートリアルでは、tMapコンポーネントを使用して2つのデータソースを簡単に結合する方法について説明します。
このチュートリアルでは、Talend Open Studio Data Integrationバージョン6を使用します。
1. 新しいジョブを作成し、ソースコンポーネントを追加する
新しいジョブで、moviesメタデータファイルをtFileInputDelimitedコンポーネントとしてジョブに追加します。
moviesファイルの最後の列はdirectorIDです。このチュートリアルでは、この列を使用してmoviesファイルをdirectorsファイルのdirectorID列に結合する方法について説明します。
2. directors.txtという単純なファイルに基づいて新しいメタデータファイルを作成し、第2のソースとして追加する
- directorsという名前の新しい区切り記号付きメタデータファイルを作成します。
- サンプルファイルを指定するには、[File]フィールドの横の[Browse]をクリックし、ローカルディスクからtxt形式のファイルを選択し、[Open]をクリックします。
- このファイルの区切り記号はカンマです。区切り記号を変更するには、[Field Separator]ドロップダウンリストで[Comma]を選択します。
- ファイルの表示を更新して変更を反映するには、[Refresh Preview]をクリックします。 注:このファイルには[directorID]および[directorName]という2つの列だけが含まれています。
- 列名をdirectorIDおよびdirectorNameに変更し、directorNameのフィールド長を40に変更します。新しいメタデータファイルdirectors 0.1がプロジェクトリポジトリの[Metadata]の下に表示されます。これで、moviesファイルの[directorID]列をdirectorsファイルの[directorID]列に結合できるようになりました。
- directorsメタデータファイルを第2の入力ソースとしてジョブに追加します
3. tMapコンポーネントを追加・構成して、2つのソースコンポーネントを結合する
- tMapコンポーネントをジョブデザイナーに追加します。
- 2つのコンポーネントとtMapコンポーネントの間のデータフローを確立するには、最初にmoviesをtMap_1コンポーネントにリンクしてから、ディレクトリをtMap_1にリンクします。
- ソースコンポーネントとtMapコンポーネントの間のリンク名を変更するには、リンクをダブルクリックしてmoviesと入力します。同様に、もう1つのリンクの名前をdirectorsに変更します。
- tMapコンポーネントのウィザードを開くには、コンポーネントをダブルクリックします。 ウィザードの左側のセクションでは、moviesとdirectorsの両方がtMapコンポーネントの入力として表示されています。
- 新しい出力データフローを作成するには、tMapウィザードの出力セクションで[+]ボタンをクリックし、新しい出力の名前をjoinedOutputと入力し、[OK]をクリックします。空の出力データフローが作成されます。
- [movieID]、[title]、[releaseYear]、[url]の各フィールドを出力データフローに追加するには、入力moviesから4つのフィールドを選択して、出力データフローにドロップします。同様に、[directorName]フィールドを入力directorsから出力データフローに追加します。
- 結合を構成するには、moviesテーブルの[directorID]列を選択して、directorsテーブルの[directorID]列にドラッグします。
4. 結果をファイルに保存する
- 出力先を指定するには、tFileOutputDelimitedコンポーネントをジョブデザイナーに追加し、tMapコンポーネントのjoinedOutput出力をリンクします。
- 出力コンポーネントを構成するには、コンポーネントの[Component]ビューで出力ファイルのパスと名前を指定します。また、出力ファイルにヘッダー行を含めます。
- ジョブを実行するには、[Run]ビューで[Run]をクリックします。
- moviesComplete.csvファイルをチェックするには、ファイルが作成されたフォルダーに移動してファイルを開きます。
注:一部の映画では監督名が表示されません。これらの映画はdirectorIDを含みません。
ETLツールのデフォルトの動作は次のとおりです。
- 入力として使用されるテーブルのすべての行が表示されます。
- 結合条件が満たされない場合、対応する出力フィールドは空になります。これは「左外部結合」です。 対照的に、tMapの結合を内部結合として構成できます。この場合は、結合条件が満たされた行のみが表示されます。
← PREVIOUS TUTORIAL | NEXT TUTORIAL →
Talendを使う準備はできていますか?
追加の関連記事
- Talend Open Studio for Data Integrationの使用開始
- [TOSチュートリアル02] ファイルの読み込み
- [TOSチュートリアル01] Talend Studioの紹介
- [TOSチュートリアル03] ファイルのソート
- [TOSチュートリアル07] tMapでの結合の構成
- [TOSチュートリアル08] tMapコンポーネントを使用した条件ベースフィルターの追加
- [TOSチュートリアル09] コンテキスト変数の使用
- [TOSチュートリアル05] tMapコンポーネントを使用したデータのフィルタリング
- [TOSチュートリアル04] メタデータの作成(メタデータエディタ)と活用
- [TOSチュートリアル13] Sparkでのジョブの実行
- [TOSチュートリアル12] HDFSでのデータの読み書き
- [TOS tutorial 11] Creating Cluster Connection Metadata from Configuration Files
- [TOSチュートリアル10] クラスター接続メタデータの作成
- [TOS tutorial 14] Running a Job on YARN