4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Talend Data Preparationを使ってみる その5

Posted at

#Talend Data PreparationとTalend Studioの連携(ライブモード)#
前回はDataPreparationのDATASETSに用意されたデータを読み、PREPARATIONSで定義されたクレンジングを行ってファイルに出力するというバッチモードを紹介しました。
今回はTalend Studioで作成したジョブをTalend Administration Centerに登録し、DataPreparation上でジョブを使ってDATASETSに出力するライブモードを紹介します。

#入力データ#
今回は入力用に15000件のCSVファイルを用意しました。
01_使用データ.jpg

#ジョブの作成#
まずStudioでプロジェクトを作成してログインします。
DataPreparationLiveというプロジェクトを作成しました。
02_1_新規プロジェクト作成.jpg

プロジェクトが開かれたら新規ジョブを作成します。
LiveDummyDataというジョブを作成しました。
02_2_新規ジョブ作成.jpg

入力用にCSVファイルを用意しましたので、ジョブにtFileInputDelimitedを配置し、ファイル名、セパレーター、ヘッダー設定を行います。
03_ジョブ_tFileInputDelimited_1.jpg

スキーマをCSVファイルと同じ設定にします。
03_ジョブ_tFileInputDelimited_1_Schema.jpg

エンコードをUTF-8に設定します。
04_ジョブ_tFileInputDelimited_2.jpg
tFileInputDelimitedの設定はこれで完了です。

tDatasetOutputコンポーネントを追加します。
05_ジョブ_tDatasetOutput_1.jpg

tDatasetOutputコンポーネントのModeをLiveDatasetに変更します。
06_ジョブ_tDatasetOutput_2.jpg

tDatasetOutputコンポーネントのUrlとLimitに設定されている取得先のContext名を、Contextsタブに追加します。
07_ジョブ_コンテキスト_2.jpg
tDatasetOutputコンポーネントの設定はこれで完了です。

tFileInputDelimitedとtDatasetOutputを接続します。
07_ジョブ_保存状態.jpg
ジョブの設定はこれで完了です。

リポジトリのジョブ名を右クリックしてメニューを開き、Build Jobをクリックします。
08_ジョブ_Build Job_1.jpg

Build JobのウィンドウでZipファイルの出力先を設定します。
他の項目はデフォルト値のままでFinishボタンをクリックします。
09_ジョブ_Build Job_2.jpg

指定したフォルダにBuildしたZipファイルが作成されていることを確認します。
10_ジョブ_Buildup.jpg
ジョブの作成はこれで完了です。

#TAC(Talend Administration Center)でのタスク登録#
作成したジョブをTACでタスク登録します。

ジョブ作成時にStudioで作成したプロジェクトをTACで登録します。
MenuからProjectをクリックし、続けてAddをクリックします。
11_Tac_Project作成.jpg

右のProject設定で、LabelにDataPreparationLiveを入力し、Project typeをData Integration/ESBに設定し、StorageをNoneに設定し、下のSaveボタンをクリックします。
13_Tac_Project作成_入力欄_設定後.jpg

Projectsの一覧に登録したプロジェクトが表示されました。
14_Tac_Project作成_作成後.jpg

プロジェクトに対してユーザー別の権限を設定します。
MenuのProject Authorizationsをクリックし、先ほど作成したDataPreparationLiveをクリックし、右にのユーザーを選択して一番右にあるRead writeのアイコンをクリックします。
15_Tac_Project authorizations_1.jpg

DataPreparationLiveの右に1が表示され、指定したユーザーに対してこのプロジェクトへの読み書きの権限が与えられました。
16_Tac_Project authorizations_2.jpg
プロジェクトの設定はこれで完了です。

ジョブサーバーの設定を確認してジョブサーバー名を変更します。
MenuのServersをクリックし一覧からserv1をクリックして、LabelをLocalServerに変更してSaveボタンをクリックします。
18_Tac_Servers_1.jpg
19_Tac_Servers_2.jpg

プロジェクトに対してのサーバーの権限設定を行います。
MenuのServer Project authorizationsをクリックして、一覧からDataPreparationLiveプロジェクトをクリックしLocalServerに対して許可されていることを確認します。
17_Tac_Server Project authorizations_1.jpg
ジョブサーバーの設定はこれで完了です。

作成したジョブをタスク登録します。
MenuからJob Conductorをクリックして、AddをクリックしNormal Taskをクックします。
20_Tac_Job Conductor_1.jpg

画面右にタスク登録欄が入力可能になりますので、Labelに"dataprep_DummyData"を入力し、Execution server:をLocalServerに設定し、Job:の真ん中のアイコンをクリックしてジョブのインポートを行います。
ここで注意すべき点があり、DataPreparationと連携するためにLabelの先頭には必ず"dataprep_"を付加します。
この"dataprep_"という値はDataPreparationの設定ファイルから変更が可能です。
21_Tac_Job Conductor_2.jpg

Import generated codeのウィンドウが表示されますので、Browse...ボタンをクリックします。
22_Tac_Job Conductor_3.jpg

Studioから作成したLiveDummyDataジョブのZipファイルを選択しOpenボタンをクリックします。
23_Tac_Job Conductor_4.jpg

Launch uploadボタンをクリックします。
24_Tac_Job Conductor_5.jpg

アップロードしたジョブの情報が表示されますので、下のSaveボタンをクリックします。
25_Tac_Job Conductor_6.jpg

一覧に登録したタスクが表示されますので、タスクをクリックして選択し画面上部にあるDeployボタンをクリックします。
26_Tac_Job Conductor_7.jpg

デプロイが完了したらタスクのStatusがReady to runに変わっていることを確認します。
27_Tac_Job Conductor_8.jpg
TACでのタスク登録はこれで完了です。

#DataPreparationでタスク実行によるDATASETSの作成#
DataPreparationのDATASETSにタスク実行でDATASETSを作成します。

左のメニューからDATASETSをクリックし、ADD DATASETの右にある矢印をクリックし、メニューからTalend Jobをクリックします。
28_DataPreparation_DATASETS_1.jpg

ADD TALEND JOB DATASET画面が開かれましたら、Dataset nameにLive_DummyDataを設定し、UsernameとPasswordはTACにログインしたユーザーに設定し、右下のTEST CONNECTIONボタンをクリックします。
29_DataPreparation_DATASETS_2.jpg

UsernameとPasswordが正しければ下にTaskが表示されますので、選択可能になっているDummyDataを選択します。
このTaskの名称はTACでタスク登録した名称から"dataprep_"が除去された名称となっています。
30_DataPreparation_DATASETS_3.jpg

設定した内容を確認して右下のADD DATASETボタンをクリックします。
31_DataPreparation_DATASETS_4.jpg

しばらくするとジョブが実行されて作成されたDATASETが表示されます。
32_DataPreparation_DATASETS_5.jpg

#まとめ#
今回はCSVファイルからの入力にしていますが、入力はTalendコンポーネントのInput系が全て使えますので、データベースからの取り込みも容易に行ことができますし、PREPARATIONSでクレンジング定義を登録してtDataprepRunコンポーネントを追加して実行すれば、データベースからデータを読み込んでクレンジングしてDATASETに出力することも可能になります。

これまで紹介したDataPreparationの機能とTalend Studioを活用すれば、クレンジングの定義を簡易に作成することができ、データベースからのデータ取得が容易に行うことが可能になります。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?