このトピックでは、ノードの出力を削除または変更する操作について説明します。また、削除または変更の影響と、関連する問題の解決策についても説明します。
注意事項
ノードに子孫ノードがあり、そのノードの出力を削除すると、以下の問題が発生する可能性があります。
子孫ノードが現在のノードのみに依存している場合、子孫ノードは孤立ノードになり、期待どおりにスケジュールされない可能性があります。孤立ノードの詳細については、「シナリオ:孤立ノード」をご参照ください。
ノードの出力テーブルが生成される前にノードの出力を削除すると、データ品質の問題が発生する可能性があります。
ノードの出力を変更することによるビジネスへの影響を評価し、慎重に作業することをお勧めします。
ノードの出力を削除または変更する操作
ノードを作成すると、システムによってノードの出力 2 つが自動的に生成されます。ノードに出力を追加したり、自動解析機能を有効にして、ノードによって生成されたテーブルをノードの出力としてシステムに追加できるようにしたりできます。
次の操作を実行すると、ノードの出力が削除される場合があります。
ノードの出力を手動で削除します。
自動解析機能を無効にし、ノードの出力をチェックしません。この場合、ノードコードが変更されると、ノードは削除された出力に対応する特定のテーブルを生成しなくなります。
ノードに子孫ノードがあり、ノードの出力を変更すると、重大な影響が生じる可能性があります。

ノードの出力を削除または変更することによる子孫ノードへの影響と関連する問題の解決策
ノードの出力を削除しても、ノードの出力とテーブルデータの生成には影響しません。ノードの出力は、ノードと他のノード間のスケジューリング依存関係を形成するためにのみ使用されます。ノードが出力が削除されているかどうかに関係なく、ノードコードのロジックによって、ノードがテーブルデータを生成するかどうかが決まります。
ノードの出力を削除または変更すると、ノードの子孫ノードが期待どおりにスケジュールされないか、子孫ノードでデータ品質の問題が発生します。子孫ノードがノードに強く依存している場合、重大な影響が発生する可能性があります。子孫ノードを持つノードの出力を削除すると、DataWorks コンソールに次のプロンプトメッセージが表示されます。ビジネスへの影響を確認し、慎重に作業してください。
子孫ノードが現在のノードのみに依存している場合、子孫ノードは孤立ノードになる可能性があります。 孤立ノードは期待どおりにスケジュールできません。
子孫ノードが複数のノードに依存している場合、データ品質の問題が発生する可能性があります。
ノードに子孫ノードがあり、ノードの出力を削除または変更すると、子孫ノードに重大な影響が生じる可能性があります。子孫ノードが実行に失敗するか、データ品質の問題が発生する可能性があります。ノードによって生成されるテーブルが変更されると、ノードの出力が自動的に変更されることに注意してください。
テーブルデータを生成するノードが変更された場合は、ノードの子孫ノードの新しい依存関係を設定する必要があります。
自動解析機能を使用して、ノードコードのリネージに基づいてノードのスケジューリング依存関係を取得し、ノードのスケジューリング依存関係を設定できます。ノードがテーブル A を生成し、子孫ノード B がテーブル A に依存している場合、システムはテーブル A を現在のノードの出力に追加します。子孫ノード B の ID と名前も表示されます。ビジネスの変更により現在のノードがテーブル A を生成しなくなった場合は、テーブル A が生成されるノードを特定し、子孫ノード B とテーブル A を生成するノード間の依存関係を設定する必要があります。
例:ノードによって生成されるテーブルが変更され、子孫ノードの依存関係が無効になった場合はどうすればよいですか?
この例では、Node_A ノードがテーブル A を生成し、子孫ノード Node_B はテーブル A のデータを処理する必要があります。システムは、自動解析機能を使用して Node_A と Node_B の間の依存関係を設定します。ビジネスの変更により、別のノード Node_C によってテーブル A が生成されるようになった場合、システムは Node_C と Node_B の間の依存関係を設定します。
システムは、自動解析機能を使用して Node_A と Node_B の間の依存関係を設定し、先祖ノードと子孫ノードが期待どおりにスケジュールされるようにします。
ビジネスの変更により、Node_A はテーブル A を生成しなくなりました。この場合、自動解析機能を使用して設定された Node_A と Node_B の間の依存関係は無効になります。
Node_Bは Node_A のみに依存しています。その結果、Node_B の依存関係が無効になります。この場合、Node_Bは孤立ノードになり、期待どおりにスケジュールできなくなります。ビジネスの変更により、Node_A はテーブル A を生成しなくなりました。
Node_B が Node_A のみに依存しているが、Node_A と Node_B の間の依存関係が無効になった場合、Node_B は孤立ノードになり、スケジュールできなくなります。
Node_B が別のノードに依存している場合、Node_B は期待どおりにスケジュールできますが、必要なデータを取得できない可能性があります。
説明テーブル A は Node_B のコードで設定された
SELECT文で指定されていますが、Node_B はテーブル A を生成するノードに依存していません。
ビジネスの変更後、Node_A と Node_B の間の依存関係が無効になります。
エラーメッセージ:Node_B の先祖ノード ID または先祖ノード名が指定されていません。
原因:Node_B は、Node_B の先祖ノードの出力名に基づいてテーブル A を生成するノードを見つけることができません。
ビジネス上の原因:Node_A はテーブル A を生成しなくなりました。Node_B は、Node_A の出力名に基づいてテーブル A を生成するノードを見つけることができません。
テーブル A を
Node_Cの出力として追加できます。こうすることで、システムは自動解析機能を使用して Node_C とNode_Bの間の依存関係を設定します。テーブル A を Node_C の出力として追加した後、Node_C をコミットしてデプロイし、Node_C と Node_B の間の依存関係を設定できるようにします。