ログ詳細ページに移動する
オペレーションセンターまたは DataStudio でタスク実行ログを表示できます。
バッチ同期ログの表示
次の図は、タスクの実行中に生成された基本的なログ情報を示しています。エリア ① またはエリア ⑤ のリンクをクリックして、各ステージの詳細なログを表示することもできます。
エリア | パラメーター | 説明 |
インスタンスの送信 (エリア ①) | SUBMIT: `SUBMIT` ステータスは、同期タスクが CDN マッピングシステムから Data Integration タスク実行用のリソースグループに送信されたことを示します。これは、同期タスクのレンダリングが完了したことを意味します。 | CDN マッピングシステムは、タスクを実行用のリソースグループにディスパッチします。エリア ① で現在のタスクで使用されている Data Integration リソースグループを表示できます。ログ出力は、リソースグループのタイプによって異なります: タスクがデフォルトのリソースグループで実行される場合、ログには次の情報が含まれます。 running in Pipeline[basecommon_ group_xxxxxxxxx]
タスクが Data Integration 専用リソースグループで実行される場合、ログには次の情報が含まれます。 running in Pipeline[basecommon_S_res_group_xxx]
タスクがサーバーレスリソースグループで実行される場合、ログには次の情報が含まれます。 running in Pipeline[basecommon_Serverless_res_group_xxx]
説明 このエリアの [詳細ログ URL] をクリックして、各ステージの詳細なログを表示することもできます。 |
リソースのリクエスト (エリア ②) | WAIT: `WAIT` ステータスは、同期タスクが Data Integration タスク実行用のリソースを待機していることを示します。 | タスクが Data Integration リソースを長時間待機する場合、他のタスクがそのリソースグループ上のリソースを使用している可能性があります。これは、現在のタスクで利用可能なリソースがないことを意味します。この問題を解決するには、次のいずれかのソリューションを使用します: Data Integration リソースグループを使用しているタスクが完了してリソースを解放するのを待ちます。その後、タスクを再度実行します。リソースを使用しているタスクを特定する方法については、「データ同期が遅い場合のシナリオと解決策」をご参照ください。 リソースを使用しているタスクのリストを検索し、そのオーナーを特定します。オーナーと調整して、タスクの同時実行数を減らします。 現在の同期タスクの同時実行数を減らします。その後、タスクを再度送信して公開します。 タスク実行用のリソースグループをスケールアウトします。詳細については、「スケールアウトおよびスケールイン操作」をご参照ください。
|
同期の開始 (エリア ③) | RUN: `RUN` ステータスは、同期タスクが実行中であることを示します。 | バッチ同期タスクは 4 つのステージで実行されます: 事前準備 システムは、構成に基づいて実行用の pre-SQL 文をデータベースに送信します。すべてのタスクに事前準備ステージがあるわけではありません。 MySQL Writer の場合、タスクに PreSQL 文を構成すると、SQL 文がデータベースに送信され、このステージで実行されます。 MySQL Reader の場合、querySql 文または データフィルター (where) 句を構成すると、これらの SQL 文がデータベースに送信され、このステージで実行されます。 たとえば、MaxCompute にデータを書き込む場合、タスクを [書き込み前に既存のデータを削除] するように構成できます。
説明 フィルター条件にはインデックスフィールドを使用します。これにより、SQL 文がデータベースで実行されるのに時間がかかりすぎるのを防ぐことができます。実行時間が長いと、同期時間全体が長くなったり、同期タスクがタイムアウトして失敗したりする可能性があります。 タスクの分割 (シャーディング) このステージでは、ソースデータは同時バッチ読み取りのために複数のサブタスクに分割されます。分割ルールは次のとおりです: リレーショナルデータベース: データは、インターフェイスで指定した splitPk (シャードキー) に基づいて複数のサブタスクに分割されます。サブタスクは、バッチで同時に読み取られます。シャードキーを設定しない場合、データは単一の同時実行スレッドを使用して同期されます。 LogHub、DataHub、または MongoDB: データは シャード の数に基づいて分割されます。最大タスク同時実行数は シャード の数を超えることはできません。 半構造化ストレージ: データは、ファイル数またはデータ量に基づいて分割されます。たとえば、OSS タスクの場合、最大同時実行数はファイル数を超えることはできません。
データの同期 このステージでは、構成された同時実行数に基づいてサブタスクがバッチで同期されます。リレーショナルデータベースの場合、シャードキーに基づいて複数のデータ取得 SQL 文が作成されます。これらの文は、データベースから個別にデータを取得するために使用されます。詳細については、「バッチ同期の同時実行数とレート制限の関係」をご参照ください。
説明 実行中の実際の同時実行数は、設定した同時実行数と同じではない場合があります。 シャードキーが正しく設定されていない場合、シャードキーから生成されたデータ取得 SQL 文が問題を引き起こす可能性があります。SQL 文がデータベースで長時間実行され、同期時間全体が長くなる可能性があります。また、タイムアウトして同期タスクが失敗する可能性もあります。 データベースの負荷が高い場合、タスクの実行も遅くなる可能性があります。
事後準備 システムは、構成に基づいて実行用の post-SQL 文をデータベースに送信します。すべてのタスクに事後準備ステージがあるわけではありません:
|
実行完了 (エリア ④) | タスクの完了ステータスは、次のいずれかになります: FAIL: 同期タスクは失敗しました。 SUCCESS: 同期タスクは成功しました。
|
説明 同期中にダーティデータが生成された場合、ログには Dirty data: xxR と表示されます。ダーティデータは宛先に書き込まれません。 大量のダーティデータが生成されると、データ同期速度に影響します。同期速度に要件がある場合は、まずダーティデータの問題を解決する必要があります。ダーティデータの詳細については、「バッチ同期タスク構成の機能」をご参照ください。 ダーティデータ許容数を設定することで、ダーティデータが通常のタスク実行に影響するかどうかを制御できます。デフォルトでは、バッチ同期タスクはダーティデータを許容するように構成されています。この設定は、タスク構成インターフェイスで変更できます。コードレス UI でタスクを構成する方法の詳細については、「コードレス UI でタスクを構成する」をご参照ください。コードエディタでタスクを構成する方法の詳細については、「コードエディタでタスクを構成する」をご参照ください。
|
詳細ログリンク (エリア ⑤) | 詳細ログへのリンクを提供します。 | 詳細ログリンクをクリックして、実行プロセスの各ステージの詳細なログを表示します。 |
付録: リレーショナルデータベースのシャードキー構成
splitPk パラメーターをテーブルのプライマリキーに設定します。プライマリキーは通常、均等に分散されます。これにより、結果のシャードでデータホットスポットが発生するのを防ぐことができます。
splitPk パラメーターは、整数データ型のみをサポートします。文字列、浮動小数点数、日付、またはその他のデータ型はサポートしていません。サポートされていないデータ型に splitPk を構成した場合、DataWorks は `splitPk` 設定を無視し、データ同期に単一のチャネルを使用します。
splitPk を指定しない場合、つまり splitPk を指定しないか、splitPk の値を空のままにすると、テーブルのデータ同期は単一のチャネルを使用します。