アプリケーション取り込みおよびレプリケーションタスクのトラブルシューティング
- ソースフィールドのサポートされていないデータ型をサポートされているデータ型に変更すると、変更がターゲットにレプリケートされない場合があります。
この問題は、[フィールドの修正]スキーマドリフトオプションが[レプリケート]に設定されていて、[フィールドの追加]オプションが[無視]に設定されている場合に発生します。
アプリケーション取り込みとレプリケーションタスクをデプロイするときに、アプリケーション取り込みとレプリケーションはサポートされていないデータ型のソースフィールドのターゲットカラムを作成しません。ソースフィールドのサポートされていないデータ型をサポートされているデータ型に変更した場合、アプリケーション取り込みとレプリケーションはソースフィールドに対するカラムの変更操作を処理しますが、変更をターゲットにレプリケートしません。アプリケーション取り込みとレプリケーションが、サポートされているデータ型のフィールドをターゲットに追加しようとすると、スキーマドリフトオプション[カラムの追加]が[無視]に設定されているため、操作は無視されます。
この状況に対処するには、次の手順を実行します。
- 1アプリケーション取り込みとレプリケーションタスクウィザードの[スケジュールとランタイムオプション]ページの[スキーマドリフトオプション]セクションで、[フィールドの追加]オプションを[レプリケート]に設定します。
- 2ソースフィールドのデータ型を、サポートされているデータ型に再度変更し、アプリケーション取り込みとレプリケーションジョブがこのスキーマの変更を検出できるようにします。
注: アプリケーション取り込みとレプリケーションジョブは、ソースフィールドのデータ型を変更する前に追加されたフィールド値をプロパゲートしません。
- 3ソースフィールドのすべての値をターゲットにプロパゲートする場合は、ターゲットテーブルをソースと再同期します。
- ソースのプライマリキー制約を変更した場合、アプリケーション取り込みとレプリケーションはDDLの変更が発生したソースオブジェクトの処理を停止します。
この問題は、プライマリキー制約を追加または削除した場合、または既存のプライマリキーに対してフィールドを追加または削除した場合に発生します。
初期ジョブと増分ジョブを組み合わせたジョブでソースオブジェクトの処理を再開するには、ターゲットテーブルをソースと再同期します。
増分ジョブでソースオブジェクトの処理を再開するには、次の手順を実行します。
- 1アプリケーション取り込みとレプリケーションタスクウィザードの[ソース]ページで、ソースオブジェクトを除外するオブジェクト選択ルールを追加します。
- 2タスクを再デプロイします。
アプリケーション取り込みとレプリケーションは変更したタスクをデプロイし、除外されたオブジェクトのプライマリキーに関する情報を削除します。
- 3タスクを再度編集して、ソースオブジェクトを除外したオブジェクト選択ルールを削除します。
- 4タスクを再デプロイします。
- 多くのソースオブジェクトを処理し、Google BigQueryターゲットを持つアプリケーション取り込みとレプリケーションの初期ロードジョブは、次のエラーで失敗する可能性があります。
The job has timed out on the server. Try increasing the timeout value.
この問題は、ジョブが多くのソースオブジェクトを処理するように構成されており、ソースオブジェクトの処理が完了する前にGoogle BigQueryターゲット用に構成された接続がタイムアウトした場合に発生します。この問題を解決するには、ターゲットに設定されているGoogle BigQuery V2接続のタイムアウト間隔を長くする必要があります。
接続のタイムアウト間隔を長くするには、次の手順を実行します。
- 1Administratorで、アプリケーション取り込みとレプリケーションジョブに関連付けられているGoogle BigQuery V2接続を編集モードで開きます。
- 2[オプションのプロパティを指定]フィールドで、timeoutプロパティを、必要なタイムアウト間隔(秒単位)に設定します。次の形式を使用します。
"timeout": "<timeout_interval_in_seconds>"
- 3接続を保存します。
- 4アプリケーション取り込みとレプリケーションジョブを再デプロイします。