過去または将来の期間のデータをバックフィルし、対応するタイムスタンプに基づくパーティションに書き込むことができます。データバックフィル中は、コード内のスケジューリングパラメーターが選択されたビジネスタイムに基づいて自動的に具体的な値に置き換えられます。その後、ビジネスコードが対応するタイムスタンプのデータを指定されたパーティションに書き込みます。宛先パーティションはタスクコードのロジックおよび内容によって決定されます。
権限制限
データバックフィルワークフロー内のすべてのノードに対して操作権限が必要です。いずれかのノードに対する権限がない場合、以下の影響があります。
直接対象ノードへの権限がない場合:ルートノードまたはその子孫ノードのいずれかに対する操作権限がないと、データバックフィルは実行できません。
中間ノードへの権限がない場合:権限がないノードがデータバックフィルプロセスの中間ノード(つまり、上流および下流の依存関係がバックフィル範囲内にあるノード)である場合、システムはそのノードに対してドライランを実行します。
ドライランの説明:ノードが起動しても、実際の計算ロジックは実行されず、直ちに「成功」ステータスを返して、その子孫ノードがトリガーされるようにします。
リスク警告:中間ノードでのドライランでは実際のデータは生成されません。そのため、その子孫ノードが入力データ不足により異常な出力を生成したり、失敗したりする可能性があります。十分に注意してください。
注意事項
データバックフィル操作の安定性と予測可能性を確保するため、以下の実行ルールをよくご確認ください。
I. インスタンスのライフサイクルとログ保持
インスタンスのクリーンアップ:データバックフィルインスタンスは手動で削除できません。プラットフォームは作成から約 30 日後に自動的にクリーンアップします。タスクの実行が不要になった場合は、インスタンスを凍結してスケジューリングを停止できます。
保持ポリシー:インスタンスおよびログの保持期間はリソースグループの種類によって異なります。
リソースグループの種類
インスタンス保持ポリシー
ログ保持ポリシー
スケジューリング用共有リソースグループ
30 日
7 日
スケジューリング用排他的リソースグループ
30 日
30 日
Serverless リソースグループ
30 日
30 日
大容量ログのクリーンアップ:完了したインスタンスについて、プラットフォームは毎日 3 MB を超える実行ログを定期的にクリーンアップします。
II. インスタンス実行ルール
厳格な日単位依存:データバックフィルはデータタイムスタンプに基づいて順次実行されます。前日のすべてのインスタンスが成功した後でのみ、翌日のインスタンスが開始されます。いずれかのインスタンスが失敗すると、それ以降の日付のすべてのタスクがブロックされます。
時間単位および分単位タスクの同時実行動作:特定の日のすべてのインスタンスに対してデータをバックフィルする場合、実行方法はタスクの自己依存プロパティによって決定されます。
自己依存が設定されていない場合:それぞれの上流依存関係が満たされている限り、00:00 や 01:00 などの当日中のすべてのインスタンスがグループ単位で同時に実行されます。
自己依存が設定されている場合:当日中のすべてのインスタンスが厳密に順次実行されます。たとえば、01:00 のインスタンスは 00:00 のインスタンスが成功した後に実行されます。
自動トリガーインスタンスとの競合:通常のスケジューリングを保証するため、自動トリガーインスタンスはデータバックフィルインスタンスよりも優先度が高くなります。両方が同時に実行されている場合は、手動でデータバックフィルインスタンスを停止する必要があります。
ブラックリストノードの処理:ブラックリストに登録されたノードがデータバックフィルワークフローの中間ノードである場合、そのノードもドライランを実行し、その子孫ノードのデータ出力に影響を与える可能性があります。
III. スケジューリングリソースと優先度
リソースの適切な構成:多数のデータバックフィルインスタンスや高い並列処理の次数は大量のスケジューリングリソースを消費し、自動トリガータスクの通常の動作に影響を与える可能性があります。必要に応じてリソースを構成してください。
優先度低下ポリシー:コアビジネス運用を保護するため、プラットフォームはバックフィルのデータタイムスタンプに基づいてタスクの優先度を動的に調整します。
前日 (T-1) のデータをバックフィルする場合:タスクの優先度は変更されず、タスクが属するベースラインの優先度によって決定されます。
履歴データ (T-2 以前) をバックフィルする場合:タスクの優先度は以下のルールに従って自動的に低下します。
元の優先度が 7 または 8 → 優先度 3 に低下
元の優先度が 5 または 3 → 優先度 2 に低下
元の優先度が 1 → 変更なし
データバックフィルタスクの作成
手順 1:データバックフィルページへの移動
オペレーションセンターのページに移動します。
DataWorks コンソールにログインします。上部ナビゲーションバーで目的のリージョンを選択し、左側ナビゲーションウィンドウでを選択します。表示されたページでドロップダウンリストから目的のワークスペースを選択し、オペレーションセンターへ移動をクリックします。
左側ナビゲーションウィンドウでをクリックします。
自動トリガータスクのデータをバックフィルする場合は、ページで該当タスクのデータバックフィルをクリックすることもできます。
手順 2:データバックフィルタスクの作成
データバックフィルページでデータバックフィルタスクの作成をクリックし、必要に応じてパラメーターを設定します。
設定 [基本情報]。
プラットフォームはデフォルト形式でデータバックフィル名を自動生成します。必要に応じて名前を変更できます。
データをバックフィルするノードを選択します。
操作権限を持つタスクのデータをバックフィルできます。選択方法は次のとおりです:手動選択、リンクによる選択、ワークスペースによる選択、およびタスクとそのすべての子孫タスクを指定。選択したタスクに基づいて、追加でデータをバックフィルするタスクを選択することもできます。各方法で設定可能なパラメーターは異なります。
手動選択
1 つ以上のノードをルートノードとして選択し、そのルートノードの子孫ノードを今回のデータバックフィルの範囲として選択します。この方法は従来の現在のノード、現在のノードと子孫ノード、および高度なモードのデータバックフィルソリューションと互換性があります。
以下の表にパラメーターを示します。
パラメーター
説明
タスク選択方法
手動選択を選択します。
ルートタスクの追加
名前または ID でルートタスクを検索して追加できます。また、一括追加をクリックして、リソースグループ、スケジューリング周期、ワークスペースなどの条件を指定して複数のルートタスクを一度に追加することもできます。
説明メンバーとなっているワークスペースのノードのみ選択できます。
選択済みルートタスク
データをバックフィルするノードです。リストには追加されたルートノードが表示されます。ルートノードに基づいてデータをバックフィルする子孫ノードを選択できます。
説明依存関係のレベルに基づいて子孫ノードをフィルターできます。ルートノードの直接の子孫ノードはデフォルトで第 1 レベルとなり、以下同様です。
同時にデータをバックフィルできるルートノードの最大数は500 です。ノードの合計数(ルートノードとその子孫ノード)の上限は2,000 です(中国 (北京) および中国 (杭州) リージョンでは 3,000)。
ブラックリスト
データバックフィルが不要なノードはブラックリストに追加してください。ブラックリストに登録されたノードは今回のデータバックフィルに含まれません。
説明ブラックリストに追加できるのはルートタスクのみです。ルートタスクの子タスクに対してデータバックフィルが不要な場合は、選択済みルートタスクから削除してください。
ブラックリストに登録されたノードが今回のデータバックフィルの中間ノード(つまり、上流および下流の依存関係がバックフィル範囲内にあるノード)である場合、そのノードは子孫ノードが実行できるようにドライランを実行します。ドライランでは実際の実行を行わず、直ちに成功ステータスを返します。ただし、これにより子孫ノードのデータ出力が異常になる可能性があります。
リンクによる選択
開始ノードと 1 つ以上の終了ノードを選択します。自動分析により、開始ノードと終了ノードの間にあるすべてのノード(開始ノードおよび終了ノードを含む)が今回のデータバックフィルの範囲に含まれます。
以下の表にパラメーターを示します。
パラメーター
説明
タスク選択方法
リンクによる選択。
タスクの選択
名前または ID で検索して、開始ノードと 1 つ以上の終了ノードを追加します。プラットフォームは開始ノードと終了ノードに基づいて中間ノードを分析します。中間ノードとは、開始ノードの直接または間接の子孫であり、かつ終了ノードの直接または間接の先祖であるノードです。
中間タスク
開始ノードと終了ノードに基づいてプラットフォームが自動的に分析した中間ノードのリストです。
説明リストには 2,000 ノードまでしか表示されません。この制限を超えるノードは表示されませんが、正常に実行されます。
ブラックリスト
データバックフィルが不要なノードはブラックリストに追加してください。ブラックリストに登録されたノードは今回のデータバックフィルに含まれません。
説明ブラックリストに登録されたノードが今回のデータバックフィルの中間ノード(つまり、上流および下流の依存関係がバックフィル範囲内にあるノード)である場合、そのノードは子孫ノードが実行できるようにドライランを実行します。ドライランでは実際の実行を行わず、直ちに成功ステータスを返します。ただし、これにより子孫ノードのデータ出力が異常になる可能性があります。
ワークスペースによる選択
ノードをルートノードとして選択し、その子孫ノードが存在するワークスペースに基づいて今回のデータバックフィルの範囲を決定します。
説明大量ノードのデータバックフィルを計画する従来の方法と互換性があります。
ノードのブラックリストの構成はサポートされていません。
以下の表にパラメーターを示します。
パラメーター
説明
タスク選択方法
ワークスペースによる選択。
ルートタスクの追加
名前または ID でルートノードを検索して追加します。プラットフォームはルートノードの子孫ノードが存在するワークスペース内のノードに対してデータをバックフィルします。
説明メンバーとなっているワークスペースのノードのみ選択できます。
ルートノードを含める
今回のデータバックフィルにルートノードを含めるかどうかを定義します。
データバックフィル対象ワークスペース
ルートノードの子孫ノードが存在するワークスペースに基づいて、どのワークスペースのノードに対してデータをバックフィルするかを選択します。
説明データバックフィル操作は、現在のリージョン内の DataWorks ワークスペースに対してのみ選択できます。
ワークスペースを選択すると、デフォルトでそのワークスペース内のすべてのノードに対してデータがバックフィルされます。必要に応じて、データバックフィルのブラックリストおよびホワイトリストをカスタマイズできます。
ホワイトリスト
選択したワークスペースに含まれるノードに加えて、データをバックフィルする必要があるノードです。
ブラックリスト
選択したワークスペース内でデータバックフィルが不要なノードです。
タスクとそのすべての子孫タスクを指定
ルートノードを選択すると、プラットフォームはそのノードとすべての子孫ノードを自動的に分析し、今回のデータバックフィルの範囲に含めます。
重要データバックフィルタスクが実行中のみ、トリガーされたノードを確認できます。慎重に使用してください。
以下の表にパラメーターを示します。
パラメーター
説明
タスク選択方法
タスクとそのすべての子孫タスクを指定。
ルートタスクの追加
名前または ID でルートノードを検索して追加します。プラットフォームはルートノードとそのすべての子孫ノードに対してデータをバックフィルします。
説明メンバーとなっているワークスペースのノードのみ選択できます。
選択したルートノードに子孫ノードがない場合、データバックフィルタスクを送信後、現在のルートノードのデータのみがバックフィルされます。
ブラックリスト
データバックフィルが不要なノードはブラックリストに追加してください。ブラックリストに登録されたノードは今回のデータバックフィルに含まれません。
説明ブラックリストに登録されたノードが今回のデータバックフィルの中間ノード(つまり、上流および下流の依存関係がバックフィル範囲内にあるノード)である場合、そのノードは子孫ノードが実行できるようにドライランを実行します。ドライランでは実際の実行を行わず、直ちに成功ステータスを返します。ただし、これにより子孫ノードのデータ出力が異常になる可能性があります。
データバックフィル実行ポリシーを設定します。
必要に応じて、データバックフィルタスクの実行時間、グループ実行の有無、アラートのトリガーの有無、使用するリソースグループなどの情報を設定します。
以下の表にパラメーターを示します。
パラメーター
説明
データタイムスタンプ
データバックフィルタスクのビジネス日付を指定できます。サポートされている方法には、手動入力、AI 生成、一括入力があります。
システムは選択した日付とオプションに基づいて異なる実行戦略を適用します。シナリオ 1:履歴データのバックフィル(データタイムスタンプ < 現在日付)
これは最も一般的なデータバックフィルシナリオです。選択したデータタイムスタンプが今日より前の場合、システムはその履歴日付のタスクインスタンスを即時に作成・実行して、過去のデータを再計算します。
ユースケース:履歴データのエラー修正、欠損データのバックフィル。
実行方法:即時実行。
シナリオ 2:将来のタスクのスケジューリング(データタイムスタンプ > 現在日付)
将来のデータタイムスタンプを選択し、特別なオプションを選択しない場合、これは将来のワンタイムスケジュールドタスクを作成します。
ユースケース:既知の将来の日付に対してワンタイムタスク実行を事前にスケジューリングする。
実行方法:スケジュールされた時刻に実行。インスタンスが作成され、待機状態になります。対応するデータタイムスタンプが到達すると、タスク自身のスケジューリング構成に従って自動的に実行されます。
シナリオ 3:将来のタスクを事前に実行(データタイムスタンプ > 現在日付、かつ即時実行を選択)
現在時刻以降にスケジュールされた遡及インスタンスを実行は高度なオプションで、将来実行予定のインスタンスを即時に開始できます。タスクの実行時刻は現在ですが、処理するビジネスロジックおよびデータパーティションは将来の日付のものです。
ユースケース:将来の日付のタスクロジックを事前に検証する、またはデータ移行やテストのために特定のパーティションにデータを事前準備する。
実行方法:選択後に即時実行。
例:現在日付が
2024-03-12の場合、2024-03-17のデータをバックフィルし、現在時刻以降にスケジュールされた遡及インスタンスを実行オプションを選択すると、タスクインスタンスは2024-03-12に即時に開始されますが、実行時に使用するデータタイムスタンプパラメーター(データパーティションの決定などに使用)は2024-03-17となります。
説明データタイムスタンプの概念:オフラインコンピューティングでは、通常、今日(T)に昨日(T-1)のデータを処理します。データバックフィル機能を使用すると、「データタイムスタンプ」を指定して、タスクがどの日のデータを処理するかを正確に制御できます。
複数の時間範囲:連続していない複数の日付のデータをバックフィルするには、[追加] をクリックして複数の時間範囲を設定します。
リソース計画:1 回のデータバックフィルで長期間を跨がないようにしてください。多数のデータバックフィルインスタンスはスケジューリングリソースを消費し、通常の自動トリガータスクの動作に影響を与える可能性があります。
時間範囲
選択したタスクを実行する必要がある時間帯を指定します。スケジューリング時間がこの時間範囲内にあるインスタンスのみが生成・実行されます。このパラメーターを設定することで、時間単位または分単位でスケジュールされたタスクが指定された時間帯のデータのみをバックフィルできるようになります。デフォルト値:
00:00 ~ 23:59。説明スケジューリング時間がこの時間範囲外にあるインスタンスは生成されません。周期の長いタスクが周期の短いタスクに依存している場合(例:日次タスクが時間単位タスクに依存)、孤立インスタンスが生成され、タスク実行がブロックされる可能性があります。
時間単位または分単位でスケジュールされたタスクが特定の期間のデータのみをバックフィルする必要がある場合にのみ、このパラメーターを変更してください。
グループ実行
複数のデータタイムスタンプのデータをバックフィルする場合、指定したグループ数でデータバックフィルタスクを同時に実行できます。値は次のとおりです。
はい:プラットフォームは指定されたグループ数に基づいて複数のデータバックフィルバッチを生成し、バッチをグループ単位で同時に実行します。
いいえ:データバックフィルインスタンスはデータタイムスタンプの順序に従って順次実行され、前のインスタンスが完了した後に新しいインスタンスが開始されます。
説明時間単位または分単位でスケジュールされたタスクの特定の日のデータをバックフィルする場合、そのタスクのインスタンスがグループ単位で同時に実行されるかどうかは、タスクに自己依存が設定されているかどうかによって決まります。
グループ数は
2 ~ 10の範囲で指定できます。複数のインスタンスがグループ単位で同時に実行される方法は次のとおりです。データタイムスタンプの期間がグループ数より短い場合、タスクはグループ単位で同時に実行されます。
例:データタイムスタンプが
1 月 11 日から 1 月 13 日で、グループ数が 4 の場合、データタイムスタンプごとに 1 つずつ、合計 3 つのデータバックフィルインスタンスが生成されます。これら 3 つのインスタンスはグループ単位で同時に実行されます。データタイムスタンプの数がグループ数より多い場合、プラットフォームはデータタイムスタンプの順序に基づいてシリアルとパラレルの組み合わせでタスクを実行します。
例:データタイムスタンプが
1 月 11 日から 1 月 13 日で、グループ数を 2 に設定した場合、2 つのデータバックフィルインスタンスが生成され、同時に実行されます。これらのインスタンスのうち 1 つには 2 つのデータタイムスタンプが含まれ、これらのタイムスタンプに対応するタスクは順次実行されます。
データバックフィルのアラート
今回のデータバックフィル操作でアラートをトリガーするかどうかを設定します。
はい:トリガー条件を満たすと、データバックフィルのアラートが生成されます。
いいえ:今回のデータバックフィルではアラートがトリガーされません。
トリガー条件
データバックフィルのアラートがはいに設定されている場合のみ、アラートのトリガー条件を指定できます。
成功または失敗時にアラート:データバックフィルの成功・失敗に関係なく、アラートが生成されます。
成功時にアラート:データバックフィルが成功した場合にアラートが生成されます。
失敗時にアラート:データバックフィルが失敗した場合にアラートが生成されます。
アラート通知方法
データバックフィルのアラートがはいに設定されている場合のみ、SMS およびメール、SMS、またはメールのみでアラートを受け取るように選択できます。アラートの受信者はデータバックフィルの開始者です。
説明連絡先情報の確認をクリックして、アラート連絡先の携帯電話番号またはメールアドレスが登録されているか確認できます。登録されていない場合は、「アラート連絡先の確認と設定」を参照して情報を設定してください。
注文
データバックフィルの順序としてビジネス日付の昇順またはビジネス日付の降順を選択します。
スケジューリング用リソースグループ
データバックフィルインスタンスの実行に使用するリソースグループを指定します。
タスク構成に従う:自動トリガータスクに構成されたリソースグループを使用して、データバックフィルインスタンスを実行します。
スケジューリング用リソースグループを指定:指定したリソースグループを使用して、データバックフィルインスタンスを実行します。これにより、データバックフィルインスタンスが定期インスタンスとリソースを競合することを防ぎます。
説明リソースグループにネットワーク接続があることを確認してください。そうでない場合、タスクが失敗する可能性があります。指定したリソースグループが関連ワークスペースにアタッチされていない場合は、自動トリガータスクの元のリソースグループが使用されます。
高い同時実行性でタスクが実行され、実行タイミングをずらすことができない場合に高速かつ安定したデータ転送を保証するために、Serverless リソースグループまたはスケジューリング用排他的リソースグループの使用を推奨します。
実行期間
今回生成されたデータバックフィルタスクの実行時間を指定します。
タスク構成に従う:データバックフィルインスタンスはスケジュールされた時刻に実行されます。
時間帯を指定:データバックフィルタスクは指定された時間帯内でのみトリガーされて実行されます。データバックフィルが必要なタスク数に基づいて、適切な実行時間帯を設定してください。
説明この時間帯外で非実行状態にあるタスクは実行されません。この時間帯外で実行中のタスクは引き続き実行されます。
計算リソース
現在、EMR および Serverless Spark 計算リソースのみをデータバックフィルの計算リソースとして設定できます。
マッピングされた計算リソースが存在し、アクティブであることを確認してください。そうでない場合、タスクスケジューリングに影響が出る可能性があります。
データバックフィルタスク検証ポリシーを設定します。
これは、データバックフィル検証が失敗した場合にタスク実行を停止するかどうかを設定するために使用します。プラットフォームは今回のデータバックフィルタスクの基本情報および潜在的なリスクを次のようにチェックします。
送信をクリックします。データバックフィルタスクが作成されます。
手順 3:データバックフィルタスクの実行
データバックフィルタスクの構成された実行時間が到達し、異常が検出されない場合、データバックフィルタスクは自動的にトリガーされて実行されます。
以下の条件を満たす場合、データバックフィルタスクは実行されません。
データバックフィルタスクに対して検証機能が有効になっており、検証が失敗した場合。詳細については、「手順 2:データバックフィルタスクの作成」をご参照ください。
データバックフィル操作に対して拡張チェックが有効になっており、チェックが失敗した場合、タスクの実行がブロックされます。詳細については、「拡張プログラムの概要」をご参照ください。
データバックフィルインスタンスの管理
データバックフィルインスタンスの照会
左側ナビゲーションウィンドウでをクリックします。

データバックフィルページの右側で検索オプションを表示をクリックし、遡及インスタンス名、ステータス、ノードタイプなどのフィルター条件を指定してインスタンスを検索します。複数の実行中のデータバックフィルタスクを一度に終了させることもできます。
データバックフィルインスタンスステータスの確認

このエリアでは、データバックフィルインスタンスに関する以下の情報を確認できます。
ノード名:データバックフィルインスタンスの名前です。インスタンス名の横にある
アイコンをクリックすると、実行日、実行ステータス、含まれるノードおよびその実行詳細を確認できます。チェックステータス:現在のデータバックフィルインスタンスのチェックステータスです。
実行ステータス:データバックフィルインスタンスのステータスです。有効値は「成功」、「実行失敗」、「リソース待機中」、「保留中」です。異常なステータスに基づいて問題をトラブルシューティングできます。
ノード:データバックフィルインスタンス内のノード数です。
データタイムスタンプ:データバックフィルインスタンスが実行される日付です。
タスク分析結果の表示:生成されるインスタンスの推定数、実行日、リスクチェック結果を確認して、ブロックされたタスクを迅速に対処できます。

操作:データバックフィルインスタンスに対して停止、一括再実行、再利用などの操作を実行できます。
操作名
説明
停止
実行中ステータスのデータバックフィルインスタンスを一括停止できます。この操作を実行すると、対応するインスタンスは失敗ステータスに設定されます。
説明未実行、成功、または失敗ステータスのインスタンスは停止できません。
一括再実行
データバックフィルインスタンスを一括で再実行します。
説明成功または失敗ステータスのインスタンスのみ再実行できます。
この操作を実行すると、選択したデータバックフィルインスタンスが同時に即時に再実行されます。インスタンス間のスケジューリング依存関係は考慮されません。データバックフィルインスタンスを順番に再実行したい場合は、子孫ノードの再実行を選択するか、再度データバックフィル操作を実行してください。
再利用
以前のデータバックフィル操作からノードセットを再利用して、データをバックフィルするノードを簡単に選択できます。
データバックフィルタスクの管理

このエリアでは、データバックフィルインスタンスに含まれるノードに関する以下の情報を確認できます。
名前:ノード名をクリックすると、ノード詳細ページが開き、ノードの詳細情報を確認できます。
スケジューリング時間:ノードタスクのスケジュールされた実行時間です。
実行開始時間:ノードタスクの実行開始時刻です。
終了時刻:ノードタスクの実行終了時刻です。
実行時間:ノードタスクの実行時間の長さです。
操作:ノードのDAGを表示するか、データバックフィルノードタスクを停止または再実行できます。
操作名
説明
DAG
タスクの DAG を表示して、タスクの先祖および子孫タスクを特定します。詳細については、「付録:DAG グラフの特徴」をご参照ください。
停止
実行中ステータスのノードを停止できます。この操作を実行すると、ノードのステータスは失敗に設定されます。
説明未実行、成功、または失敗ステータスのノードは停止できません。
この操作によりインスタンスが失敗し、その子孫ノードの実行がブロックされます。リスクを十分に理解した上で慎重に操作してください。
再実行
対象ノードタスクを再実行します。
説明ステータスが成功または失敗のノードのみ再実行できます。
その他
子孫ノードの再実行
対象ノードタスクの子孫ノードを再実行します。
ステータスを成功に設定
このノードタスクのステータスを成功に設定します。
凍結
現在のノードを一時停止(凍結)状態に設定し、スケジューリングを停止します。
説明リソース待機中、スケジューリング時間待機中、または実行中ステータスのタスクは凍結できません。実行中ステータスには、ノードコードが実行中である場合やデータ品質チェックが進行中の場合が含まれます。
凍結解除
一時停止(凍結)されたノードのスケジューリングを再開します。
リネージの表示
ノードのデータリネージグラフを表示します。
1 つ以上のタスクノードを選択し、停止または再実行をクリックして、一括で停止または再実行できます。
インスタンスステータスの説明
ステータスタイプ | ステータスアイコン |
成功ステータス |
|
未実行ステータス |
|
失敗ステータス |
|
実行中ステータス |
|
待機ステータス |
|
凍結ステータス |
|





