動的テーブルの状態¶
動的テーブルは、そのライフサイクル中、複数の状態のいずれかになる可能性があります。次のテーブルでは、さまざまな動的テーブルのライフサイクルの状態について説明します。
状態 |
スケジューリング状態 |
説明 |
リフレッシュ状態 |
|
---|---|---|---|---|
INITIALIZING |
RUNNING |
Snowflakeは動的テーブルを初期化し、最初のリフレッシュをスケジュールしています。 動的テーブルの初期化中に実行されたクエリ もご参照ください。 |
まだリフレッシュされていません |
|
ACTIVE |
RUNNING |
動的テーブルリフレッシュは正常に実行されています。 |
成功しました |
|
ACTIVE |
RUNNING |
最後のリフレッシュはスキップされました。今後のリフレッシュは通常のレートで行われます。リフレッシュがスキップされるのを防ぐために、ターゲットラグとウェアハウスのサイズを変更します。 |
SKIPPED |
|
IMPACTED |
RUNNING |
リフレッシュできません。上流の動的テーブルの1つ以上がリフレッシュに失敗しました。上流の問題が修正されると、リフレッシュは自動的に再開されます。 |
SKIPPED |
|
IMPACTED |
SUSPENDED |
上流の動的テーブルが中断しているため、スキップされました。上流の動的テーブルが再開されると、リフレッシュは自動的に再開されます。 |
UPSTREAM_SUSPENDED |
|
SUSPENDED |
SUSPENDED |
動的テーブルが手動で中断されたため、スキップされました。動的テーブルが手動で再開されると、リフレッシュは自動的に再開されます。 |
USER_SUSPENDED |
|
SUSPENDED |
SUSPENDED |
以前に FAILING/SUSPENDED の動的テーブルが手動で正常にリフレッシュされました。動的テーブルは手動で再開する必要があります。 |
SUSPENDED_DUE_TO_ERRORS |
|
FAILING |
RUNNING |
前回のリフレッシュ時に、動的テーブル定義が無効になったり、インフラストラクチャの一時的な問題が発生したりしたなどのエラーが発生しました。追加のリフレッシュは、通常のリフレッシュ間隔で試みられます。 |
FAILED または CANCELLED |
|
FAILING |
SUSPENDED |
過去5回のリフレッシュに失敗しました。動的テーブルは自動中断され、手動で再開するまでリフレッシュされません。 |
SUSPENDED_DUE_TO_ERRORS |
動的テーブルの初期化中に実行されるクエリ
注釈
動的テーブルの初期化に対するクエリはエラーを返します。
このようなエラーを回避するには、次回の定期リフレッシュを待つか、 ALTER DYNAMIC TABLE コマンドを使用して手動リフレッシュを実行します。
中断の理由コード
コード |
説明 |
---|---|
USER_SUSPENDED |
ユーザーにより、動的テーブルが中断されました。 |
UPSTREAM_SUSPENDED |
入力の一部が中断されたために動的テーブルが中断されました。 |
SUSPENDED_DUE_TO_ERRORS |
5回連続してエラーが発生したため、動的テーブルが中断しました。 |
注釈
連続で5回以上の定期リフレッシュエラーが発生した場合、動的テーブルは中断されます。リフレッシュエラーによって中断された動的テーブルは、ユーザーのアクションではなくシステムによって中断されるため、一般的に 自動中断 と呼ばれます。
他の動的テーブルが中断された動的テーブルに依存している場合は、それらも中断されます。SCHEDULING_STATE は動的テーブルの現在の状態を説明します。
動的テーブルのスケジューリング状態を表示するには、 DYNAMIC_TABLE_GRAPH_HISTORY テーブル関数を呼び出し、 SCHEDULING_STATE 列を調べます。