すべてのプロダクト
Search
ドキュメントセンター

DataWorks:ノードの出力を削除または変更した場合の影響

最終更新日:Mar 07, 2025

このトピックでは、ノードの出力を削除または変更する操作について説明します。また、削除または変更の影響と、関連する問題の解決策についても説明します。

注意事項

ノードに子孫ノードがあり、そのノードの出力を削除すると、以下の問題が発生する可能性があります。

  • 子孫ノードが現在のノードのみに依存している場合、子孫ノードは孤立ノードになり、期待どおりにスケジュールされない可能性があります。孤立ノードの詳細については、「シナリオ:孤立ノード」をご参照ください。

  • ノードの出力テーブルが生成される前にノードの出力を削除すると、データ品質の問題が発生する可能性があります。

ノードの出力を変更することによるビジネスへの影響を評価し、慎重に作業することをお勧めします。

ノードの出力を削除または変更する操作

ノードを作成すると、システムによってノードの出力 2 つが自動的に生成されます。ノードに出力を追加したり、自動解析機能を有効にして、ノードによって生成されたテーブルをノードの出力としてシステムに追加できるようにしたりできます。

次の操作を実行すると、ノードの出力が削除される場合があります。

  • ノードの出力を手動で削除します。

  • 自動解析機能を無効にし、ノードの出力をチェックしません。この場合、ノードコードが変更されると、ノードは削除された出力に対応する特定のテーブルを生成しなくなります。

説明

ノードに子孫ノードがあり、ノードの出力を変更すると、重大な影響が生じる可能性があります。

示例

ノードの出力を削除または変更することによる子孫ノードへの影響と関連する問題の解決策

説明

ノードの出力を削除しても、ノードの出力とテーブルデータの生成には影響しません。ノードの出力は、ノードと他のノード間のスケジューリング依存関係を形成するためにのみ使用されます。ノードが出力が削除されているかどうかに関係なく、ノードコードのロジックによって、ノードがテーブルデータを生成するかどうかが決まります。

ノードの出力を削除または変更すると、ノードの子孫ノードが期待どおりにスケジュールされないか、子孫ノードでデータ品質の問題が発生します。子孫ノードがノードに強く依存している場合、重大な影響が発生する可能性があります。子孫ノードを持つノードの出力を削除すると、DataWorks コンソールに次のプロンプトメッセージが表示されます。ビジネスへの影響を確認し、慎重に作業してください。界面提示

  • 子孫ノードが現在のノードのみに依存している場合、子孫ノードは孤立ノードになる可能性があります。 孤立ノードは期待どおりにスケジュールできません。

  • 子孫ノードが複数のノードに依存している場合、データ品質の問題が発生する可能性があります。

    ノードに子孫ノードがあり、ノードの出力を削除または変更すると、子孫ノードに重大な影響が生じる可能性があります。子孫ノードが実行に失敗するか、データ品質の問題が発生する可能性があります。ノードによって生成されるテーブルが変更されると、ノードの出力が自動的に変更されることに注意してください。

  • テーブルデータを生成するノードが変更された場合は、ノードの子孫ノードの新しい依存関係を設定する必要があります。

    自動解析機能を使用して、ノードコードのリネージに基づいてノードのスケジューリング依存関係を取得し、ノードのスケジューリング依存関係を設定できます。ノードがテーブル A を生成し、子孫ノード B がテーブル A に依存している場合、システムはテーブル A を現在のノードの出力に追加します。子孫ノード B の ID と名前も表示されます。ビジネスの変更により現在のノードがテーブル A を生成しなくなった場合は、テーブル A が生成されるノードを特定し、子孫ノード B とテーブル A を生成するノード間の依存関係を設定する必要があります。

例:ノードによって生成されるテーブルが変更され、子孫ノードの依存関係が無効になった場合はどうすればよいですか?

この例では、Node_A ノードがテーブル A を生成し、子孫ノード Node_B はテーブル A のデータを処理する必要があります。システムは、自動解析機能を使用して Node_ANode_B の間の依存関係を設定します。ビジネスの変更により、別のノード Node_C によってテーブル A が生成されるようになった場合、システムは Node_CNode_B の間の依存関係を設定します。

  1. システムは、自動解析機能を使用して Node_A と Node_B の間の依存関係を設定し、先祖ノードと子孫ノードが期待どおりにスケジュールされるようにします。

  2. ビジネスの変更により、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 を生成するノードを見つけることができません。

  3. テーブル A を Node_C の出力として追加できます。こうすることで、システムは自動解析機能を使用して Node_C と Node_B の間の依存関係を設定します。

    テーブル A を Node_C の出力として追加した後、Node_C をコミットしてデプロイし、Node_C と Node_B の間の依存関係を設定できるようにします。