#Talend Data PreparationとTalend Studioの連携(ライブモード)#
前回はDataPreparationのDATASETSに用意されたデータを読み、PREPARATIONSで定義されたクレンジングを行ってファイルに出力するというバッチモードを紹介しました。
今回はTalend Studioで作成したジョブをTalend Administration Centerに登録し、DataPreparation上でジョブを使ってDATASETSに出力するライブモードを紹介します。
#入力データ#
今回は入力用に15000件のCSVファイルを用意しました。
#ジョブの作成#
まずStudioでプロジェクトを作成してログインします。
DataPreparationLiveというプロジェクトを作成しました。
プロジェクトが開かれたら新規ジョブを作成します。
LiveDummyDataというジョブを作成しました。
入力用にCSVファイルを用意しましたので、ジョブにtFileInputDelimitedを配置し、ファイル名、セパレーター、ヘッダー設定を行います。
エンコードをUTF-8に設定します。
tFileInputDelimitedの設定はこれで完了です。
tDatasetOutputコンポーネントのModeをLiveDatasetに変更します。
tDatasetOutputコンポーネントのUrlとLimitに設定されている取得先のContext名を、Contextsタブに追加します。
tDatasetOutputコンポーネントの設定はこれで完了です。
tFileInputDelimitedとtDatasetOutputを接続します。
ジョブの設定はこれで完了です。
リポジトリのジョブ名を右クリックしてメニューを開き、Build Jobをクリックします。
Build JobのウィンドウでZipファイルの出力先を設定します。
他の項目はデフォルト値のままでFinishボタンをクリックします。
指定したフォルダにBuildしたZipファイルが作成されていることを確認します。
ジョブの作成はこれで完了です。
#TAC(Talend Administration Center)でのタスク登録#
作成したジョブをTACでタスク登録します。
ジョブ作成時にStudioで作成したプロジェクトをTACで登録します。
MenuからProjectをクリックし、続けてAddをクリックします。
右のProject設定で、LabelにDataPreparationLiveを入力し、Project typeをData Integration/ESBに設定し、StorageをNoneに設定し、下のSaveボタンをクリックします。
Projectsの一覧に登録したプロジェクトが表示されました。
プロジェクトに対してユーザー別の権限を設定します。
MenuのProject Authorizationsをクリックし、先ほど作成したDataPreparationLiveをクリックし、右にのユーザーを選択して一番右にあるRead writeのアイコンをクリックします。
DataPreparationLiveの右に1が表示され、指定したユーザーに対してこのプロジェクトへの読み書きの権限が与えられました。
プロジェクトの設定はこれで完了です。
ジョブサーバーの設定を確認してジョブサーバー名を変更します。
MenuのServersをクリックし一覧からserv1をクリックして、LabelをLocalServerに変更してSaveボタンをクリックします。
プロジェクトに対してのサーバーの権限設定を行います。
MenuのServer Project authorizationsをクリックして、一覧からDataPreparationLiveプロジェクトをクリックしLocalServerに対して許可されていることを確認します。
ジョブサーバーの設定はこれで完了です。
作成したジョブをタスク登録します。
MenuからJob Conductorをクリックして、AddをクリックしNormal Taskをクックします。
画面右にタスク登録欄が入力可能になりますので、Labelに"dataprep_DummyData"を入力し、Execution server:をLocalServerに設定し、Job:の真ん中のアイコンをクリックしてジョブのインポートを行います。
ここで注意すべき点があり、DataPreparationと連携するためにLabelの先頭には必ず"dataprep_"を付加します。
この"dataprep_"という値はDataPreparationの設定ファイルから変更が可能です。
Import generated codeのウィンドウが表示されますので、Browse...ボタンをクリックします。
Studioから作成したLiveDummyDataジョブのZipファイルを選択しOpenボタンをクリックします。
アップロードしたジョブの情報が表示されますので、下のSaveボタンをクリックします。
一覧に登録したタスクが表示されますので、タスクをクリックして選択し画面上部にあるDeployボタンをクリックします。
デプロイが完了したらタスクのStatusがReady to runに変わっていることを確認します。
TACでのタスク登録はこれで完了です。
#DataPreparationでタスク実行によるDATASETSの作成#
DataPreparationのDATASETSにタスク実行でDATASETSを作成します。
左のメニューからDATASETSをクリックし、ADD DATASETの右にある矢印をクリックし、メニューからTalend Jobをクリックします。
ADD TALEND JOB DATASET画面が開かれましたら、Dataset nameにLive_DummyDataを設定し、UsernameとPasswordはTACにログインしたユーザーに設定し、右下のTEST CONNECTIONボタンをクリックします。
UsernameとPasswordが正しければ下にTaskが表示されますので、選択可能になっているDummyDataを選択します。
このTaskの名称はTACでタスク登録した名称から"dataprep_"が除去された名称となっています。
設定した内容を確認して右下のADD DATASETボタンをクリックします。
しばらくするとジョブが実行されて作成されたDATASETが表示されます。
#まとめ#
今回はCSVファイルからの入力にしていますが、入力はTalendコンポーネントのInput系が全て使えますので、データベースからの取り込みも容易に行ことができますし、PREPARATIONSでクレンジング定義を登録してtDataprepRunコンポーネントを追加して実行すれば、データベースからデータを読み込んでクレンジングしてDATASETに出力することも可能になります。
これまで紹介したDataPreparationの機能とTalend Studioを活用すれば、クレンジングの定義を簡易に作成することができ、データベースからのデータ取得が容易に行うことが可能になります。