ファイルの読み込み
データベースであれファイルであれ、データのソーシングはデータ統合で最も基本的かつ必須の要素の1つです。Talend Open Studio for Data Integrationでは、データベース接続および標準的/複雑なファイル形式をサポートする広範なコンポーネントを使用して、データに簡単にアクセスできます。このチュートリアルでは、標準のコンマ区切りファイル形式内でデータに簡単にアクセスする方法について説明します。
このチュートリアルでは、Talend Open Studio Data Integrationバージョン6を使用します。
1. 新しいジョブを作成する
- [Integration]パースペクティブが選択されていることを確認します。
- [Project Repository]で[Job Designs]を右クリックし、メニューから[Create Standard Job]をクリックします。
- [New Job]ウィザードの[Name]フィールドに、ジョブの名前をreadCSVFileと入力します。
- プラクティスとしてジョブの目的と説明を追加することをお勧めします。続いて[Finish]をクリックしてジョブを作成します。
ジョブを含まないジョブデザイナーが開きます。
2. tFileInputDelimitedコンポーネントを追加する
3. tFileInputDelimited_1コンポーネントを構成する
- ジョブデザイナーで[tFileInputDelimited_1]をクリックします。
- コンポーネントの基本設定を定義するには、[Component]ビューで[Component]をクリックします。
[Property Type]は、データソースの読み込み方法を定義します。
[File name/Stream]は、入力または出力ファイルの完全パスを示します。パスを手入力するか、または省略記号のボタン([...])を使用してファイルパスを指定できます。
[Row Separator]と[Field Separator]は、行セパレーターを定義します。
[Header]と[Footer]は、ファイル内で無視すべき最大行数を示します。
[Limit]は、ファイル内で読み込む最大行数を示します。
[Schema]は、ファイルのデータ構造を定義します。 - 読み込むファイルのパスと名前を指定するには、[File Name]フィールドの横の[...]をクリックし、ローカルディスクからファイルを選択して、[Open]をクリックします。
4. tFileInputDelimited_1コンポーネントのスキーマを定義する
- tFileInputDelimited_1コンポーネントのスキーマを定義するには、[Edit schema]フィールドの横の[...]をクリックします。
[Schema of the tFileInputDelimited_1]ウィザードが開きます。
スキーマウィザードに列を追加するには、[+]ボタンを使用します。
スキーマウィザードから列を削除するには、[x]ボタンを使用します。
スキーマウィザードで選択したアイテムを上下に移動するには、[↑]ボタンと[↓]ボタンを使用します。
. - スキーマウィザードで、[+]アイコンをクリックして列を追加します。
- [Column]列に、フィールド名をmovieIDと入力します。
- このフィールドをキーとして指定するには、[Key]のチェックをオンにします。
- [Type]列で[Integer]をクリックします。
- [Nullable]列のチェックがオフになっていることを確認します。これにより、この列についてnull値が拒否されます。
- [Length]列に4と入力します。
- CSVファイルの各フィールドについて手順2~7を繰り返します。
- スキーマウィザードを閉じるには[OK]をクリックします。
5. ログコンポーネントを追加し、データを伝播する
- tLogRowコンポーネントをジョブに追加します。tLogRowコンポーネントは、取得するすべてのデータ行をコンソールに表示します。
- tFileInputDelimited_1コンポーネントからのデータをtLogRow_1コンポーネントに伝播するには、ジョブデザイナーで[tFileInputDelimited_1]を右クリックしてホールドし、tLogRow_1にドラッグします。
代替の方法:ソースコンポーネントを右クリックして[Row] > [Main]をクリックする方法を使用することにより、コンポーネントをリンクすることも可能です。
6. ジョブを実行する
ジョブreadCSVFileの[Run]ビューで、[Run]をクリックします。
ファイルがtFileInputDelimitedコンポーネントによって読み込まれ、その内容がtLogRowコンポーネントによってコンソールに表示されました。