データベース接続を移行
このタスクについて
情報メモ注: この機能はデータ統合ジョブにのみ適用されます。HBase、Hive、Impala、Iceberg、MapR-DBの各データベースタイプは移行できません。
手順
-
[Repository] (リポジトリー)ツリービューで[Metadata] (メタデータ) > [Db Connections] (データベース接続)を展開し、移行するデータベース接続を右クリックして、コンテキストメニューから[Migrate Db connection to...] (データベース接続の移行先...)を選択します。
-
データベース接続ウィザードが開きます。
ウィザードのSourceカラムに、ソース接続とそこから取得されたスキーマが、再利用されるジョブ数と共に表示されます。Targetカラムで、移行したいデータベース接続を選択します。ソース接続に存在するスキーマのうち、ターゲット接続に同じ名前(大文字と小文字は区別されません)で存在するスキーマには、 アイコンが表示されます。[Next] (次へ)をクリックし、次のステップに進みます。
-
ソース接続を使用するクローズ状態のジョブがすべてウィザードに表示されます。
以下の条件を満たす場合、データベースコンポーネントは移行可能です:
- このコンポーネントは、リポジトリーのデータベース接続を再利用します。コンポーネントの[Property Type] (プロパティタイプ)が[Built-In] (組み込み)に設定されている場合、コンポーネントは検出されず、したがって変更されません。
- コンポーネントで再利用されるスキーマが、同じ名前でターゲット接続に存在します(大文字と小文字は区別されません)。
- このコンポーネントは、ターゲットデータベースに同等のものがあります。
- サブジョブの最後のMapコンポーネントがリポジトリー接続を使用する場合、ELTコンポーネントは移行可能です。最後のMapコンポーネントのプロパティタイプが[Built-In] (組み込み)に設定されている場合、サブジョブにあるどのELTコンポーネントも検出されなくなります。情報メモ注: ELT UniteMapのケースでは、OracleデータベースとTeradataデータベース間の移行のみサポートされています。
各コンポーネントには、移行可能かどうかを示すため、アイコンまたはアイコンが付きます。コンポーネントが移行可能であり、移行元の接続でスキーマを再利用する場合は、コンポーネント名の後にスキーマ名が表示されます。コンポーネントが移行不可能な場合は、その理由が強調表示されます。ジョブは、そのジョブ内で検出されたコンポーネントがすべて移行可能である場合のみ移行できます。
コンポーネントがソース接続でスキーマを再利用し、テーブル名がスキーマ名と同じであれば、テーブル名は移行後にターゲット接続でスキーマ名に変更されます。たとえば、ソース接続にあるtable_1はターゲット接続にあるTABLE_1と一致します。コンポーネントがこのスキーマを再利用し、そのテーブル名もtable_1である場合、移行後にテーブル名はTABLE_1に変更されます。Talend Studioは、ターゲットテーブルのカラムを検証しません。コンポーネントがソース接続を使用しているものの、この接続のスキーマは使用していない場合、このコンポーネントはターゲット接続に移行されますが、スキーマとテーブル名は変更されません。たとえばMySQLデータベース接続からOracleに移行する場合:次のテーブルは、移行可能なジョブ/コンポーネントと移行不可能なジョブ/コンポーネント、移行前後のスキーマタイプとテーブル名を示したものです。ソース接続 ターゲット接続 名前 スキーマ 名前 スキーマ source_conn (MySQL) table_1 target_conn (Oracle) TABLE_1 table_2 TABLE_2 table_3 TABLE_3 table_4 移行のケース 移行前 コンポーネントが移行可能 ジョブが移行可能 移行後 ジョブ コンポーネント プロパティタイプ スキーマタイプ テーブル名 コンポーネント プロパティタイプ スキーマタイプ テーブル名 Job1 tMysqlInput source_conn source_conn-table_1 table_1 あり あり tOracleInput target_conn target_conn-TABLE_1 TABLE_1 tMysqlOutput source_conn source_conn-table_2 table_2 あり tOracleOutput target_conn target_conn-TABLE_2 TABLE_2 tMysqlBulkExec source_conn source_conn-table_3 table_3 あり tOracleBulkExec target_conn target_conn-TABLE_3 TABLE_3 tMysqlOutputBulkExec source_conn source_conn-table_3 table_X あり tOracleOutputBulkExec target_conn target_conn-TABLE_3 table_X tMysqlSP source_conn built-in/generic table_Y あり tOracleSP target_conn built-in/generic table_Y tMySQLValidRows 組み込み built-in/generic table_Z 該当せず tMySQLValidRows 組み込み built-in/generic table_Z tMysqlInput 組み込み 組み込み table_A 該当せず tMysqlInput 組み込み 組み込み table_A tMysqlInput 組み込み source_conn-table_3 table_3 該当せず tMysqlInput 組み込み source_conn-table_3 table_3 Job2 tMysqlInput source_conn source_conn-table_1 table_1 あり なし tMysqlOutput source_conn source_conn-table_4 table_4 なし tMysqlTableList source_conn あり tMysqlColumnList source_conn なし Job3 tELTMysqlInput source_conn-table_1 table_1 あり あり tELTOracleInput target_conn-TABLE_1 TABLE_1 tELTMysqlMap_1 あり tELTOracleMap tELTMysqlMap_2 source_conn あり tELTOracleMap target_conn tELTMysqlOutput built-in/generic table_X あり tELTOracleOutput built-in/generic table_X CDCのユースケースの場合、あるデータベースから別のデータベースに移行するためには、ソースデータウェアハウスへの接続とCDC専用データベースへの接続の両方で、リポジトリーにターゲット接続を設定しておく必要があります。移行はCDC専用のデータベース接続からトリガーされることが必要です。検索フィールドを使ってジョブをフィルタリングしたり、ドロップダウンリストから選択したりすることで、移行可能なジョブと移行不可能なジョブをすべて表示できます。[Next] (次へ)をクリックし、次のステップに進みます。 -
移行可能なジョブの概要はウィザードに表示されます。[Apply] (適用)をクリックして移行を行います。
-
移行レポートページが表示されます。[Check the reoprt] (レポートをチェック)リンクをクリックしてレポートを開くか、[Browse] (参照)ボタンをクリックし、レポートが保存されている<Studio_Home>\workspace\report\massUpdateディレクトリーに移動します。
移行レポートはCSV形式で、移行されたジョブに関する次の情報が含まれています: