リストの代わりにファイルを使ってデータセットやデータ入力のリストを反復
Talend Data Integrationジョブの一部としてSQLクエリーのセットを実行しなければならないユースケースでは、tFixedFlowInputコンポーネントなどを使って手動でリストアップするか、外部テンプレートを使ってSQLクエリーのリストを繰り返し実行する必要があります。Talend Data CatalogはSQLクエリーにアクセスできないため、これによって来歴が破損してしまうことがあります。データセットのリストでも同様の問題があります。
そこで、tFileOutputXXXコンポーネントを使って個々のSQLステートメントを個別のSQLスクリプトファイルに保存することをお勧めします。それによって、SQLスクリプトを収集し、その来歴を追跡したりインパクト分析を行ったりできるようになります。
tDBRowを使って実行されるtFixedFlowInputで定義された、一連のSQLアップデートステートメントの例を見てみましょう。下のスクリーンショットにあるジョブのフローに注目してください。このTalend Data Integrationジョブにはデータの入力も出力もありません。これは一連のSQLステートメントを実行するためのものです。この種のシナリオでは、SQLステートメントを.sqlファイルに格納し、来歴のために形成されたSQLスクリプトを収集することをお勧めします。
![](/ja-JP/best-practices-for-utilizing-talend-data-catalog-in-your-etl-elt-processes/8.0/Content/Resources/images/tdi_best_practice_execute_sql_statements.png)
![](/ja-JP/best-practices-for-utilizing-talend-data-catalog-in-your-etl-elt-processes/8.0/Content/Resources/images/tdi_best_practice_tfixedflowinput.png)
![](/ja-JP/best-practices-for-utilizing-talend-data-catalog-in-your-etl-elt-processes/8.0/Content/Resources/images/tdi_best_practice_tjavarow.png)
ジョブでは、tDBRowコンポーネントが非アクティブ化されています。アクティブ化されたコンポーネントはジョブを正しく実行するためには必要ですが、Talend Data Catalogでジョブを収集する時には必要ありません。
特定のデータベース(Teradata、Microsoft SQL Serverなど)用に記述されたSQLスクリプトを収集できるよう、さまざまなブリッジがTalend Data Catalogによってサポートされています。この例では、MySQLデータベース用のOracleブリッジを使用します。インポートの設定は以下のとおりです:
![](/ja-JP/best-practices-for-utilizing-talend-data-catalog-in-your-etl-elt-processes/8.0/Content/Resources/images/tdi_best_practice_sql_script_settings.png)
![](/ja-JP/best-practices-for-utilizing-talend-data-catalog-in-your-etl-elt-processes/8.0/Content/Resources/images/tdi_best_practice_data_flow.png)
![](/ja-JP/best-practices-for-utilizing-talend-data-catalog-in-your-etl-elt-processes/8.0/Content/Resources/images/tdi_best_practice_tracing_lineage.png)
.sqlファイルがないTalend Data IntegrationジョブはSQLステートメントを実行(およびユースケースを実装)するものの、その来歴を追跡することは困難です。