このトピックでは、タスクが正常に実行されてもデータが生成されない一般的な問題について説明します。
シナリオ 1:ノードが実行ログありで成功する
ノードはロジックを正常に完了しますが、定期インスタンスの自動スケジューリング時に、ノードが上流データの取得に失敗したり、テーブルパーティションが存在しないことを報告したりします。インスタンスを手動で再実行すると、データは正常に取得されます。
-
必要なデータを生成する上流タスクに依存関係が設定されていません。
-
上流ノードへの依存関係は存在しますが、上流ノードが生成したテーブルパーティションが期待されるものと一致しません。これは、スケジューリングサイクルが正しくないことを示しています。定期インスタンスのパラメータとログの詳細で、上流および下流インスタンスのパラメータ置換を確認してください。

ノードの依存関係を再設定してください。
上流ノードと下流ノードのパラメーターを確認します。オペレーションセンターの [定期インスタンス] ページでは、DAG に上流の仮想ノード xc_demo_start が下流のオフライン同期ノード xc_oss_data_sync に接続されていることが表示されます。ノードを選択し、[プロパティ] タブでデータ宛先タイプ (MaxCompute)、実行時間 (40s)、インスタンスステータス (成功) などの詳細を確認します。実行パラメーター bizdate=20210614 は、このインスタンスのビジネス日付が 2021 年 6 月 14 日であることを示します。
シナリオ 2:ノードが実行ログなしで成功する
ノードはドライランを実行しました。プロパティページでノードのステータスを確認してください。
シナリオ 3:タスクログは成功を示すがインスタンスステータスは失敗を示す
タスク実行ログには "Shell run successfully" と表示されますが、インスタンスステータスには実行失敗が表示されます。このシナリオは通常、検証に失敗した DQC (データ品質チェック) ルールが原因です。
DQC は、タスク完了後に出力データの品質チェックを実行します。品質ルールがブロッキングポリシーで設定されており、チェックに失敗した場合、タスク自体は正常に実行されたにもかかわらず、システムはインスタンスを失敗と見なします。
トラブルシューティング手順:
-
に移動します。
-
出力テーブルに紐づけられている品質モニタリングルールを見つけてください。
-
ルールの実行履歴を確認し、チェックが成功したかどうかを確かめてください。チェックに失敗した場合は、データの問題を修正するか DQC ルールを調整してから、インスタンスを再実行してください。