外部テーブルのトラブルシューティング¶
このトピックでは、期待どおりに実行されない動的テーブルのトラブルシューティングの解決策について説明します。
動的テーブルの使用に関する制限や、必要な権限がない場合、一部の操作が制限されることがあります。詳細については、 動的テーブルの既知の制限 および 動的テーブルのアクセス制御 をご参照ください。
動的テーブルコストについては、 動的テーブルのコストを理解する をご参照ください。
ここに記載されていない問題が発生した場合は、 Snowflakeサポート までお問い合わせください。
動的テーブルリフレッシュのトラブルシューティング¶
問題 |
解決策 |
---|---|
動的テーブルは増分リフレッシュではなくフルリフレッシュを使用しています。 |
動的テーブルの実際の リフレッシュモード は作成時に決定され、その後は不変です。明示的に指定されない場合、リフレッシュモードのデフォルトは Snowflakeのリリース間で一貫した動作を維持するには、すべての動的テーブルで明示的にリフレッシュモードを設定する必要があります。たとえば、動的テーブルを増分的にのみリフレッシュさせたい場合は、作成時にリフレッシュモードを明示的に 必要な権限 を持つロールを使用して、以下のいずれかの方法でリフレッシュモードを検証できます。
|
動的テーブルの増分リフレッシュが遅いようです。 |
動的テーブルのリフレッシュパフォーマンスは、そのテーブルが扱うワークロードやデータに関する特定の仮定に依存します。 Refresh History を使用して、分散を表示したり、外れ値を検出します。
|
動的テーブルが空のリフレッシュを実行していますが、コストが表示されています。 |
動的テーブルが参照する上流オブジェクトの変更に関連する場合、正味の新しい行がゼロ(つまり、追加、リフレッシュ、削除された行がゼロ)のリフレッシュはウェアハウスリソースを消費します。 たとえば、関連する仮想ウェアハウスが中断され、ベースオブジェクトの変更が識別子で確認されない場合、中断された仮想ウェアハウスは再開されず、クレジットも消費されません。これは、 NO_DATA リフレッシュと呼ばれています。逆に、変更が識別された場合、更新を処理するために仮想ウェアハウスが自動的に再開され、その結果、動的テーブルに適用される行がゼロであってもウェアハウスのリソースが消費されます。 動的テーブルに変更を加えていないにもかかわらずコストが表示される場合は、ソーステーブルの変更が原因である可能性があります。 Snowsight の Refresh History タブを使用して、仮想ウェアハウスのクレジットが消費されたかどうかを確認できます。
詳細については、 動的テーブルのコストを理解する をご参照ください。 |
動的テーブルがリフレッシュをスキップしました。 |
動的テーブルはスケジュールに従ってリフレッシュされます。スケジュールされたリフレッシュが開始されると、次のような状況でリフレッシュがスキップされることがあります。
手動リフレッシュがスキップされることはありませんが、他のリフレッシュがスキップされる可能性があります。これを行うと、下流の動的テーブルがリフレッシュされなくなります。このため、Snowflakeでは、ターゲットラグに従ってリフレッシュすることが期待される下流の動的テーブルがある動的テーブルで、手動リフレッシュを頻繁に実行することは推奨していません。 |
動的テーブルのリフレッシュに失敗しました。 |
通常のSnowflakeクエリと同様に、動的テーブルのクエリ定義、入力データ(解析エラーなど)、または内部システムの問題が原因で、動的テーブルのリフレッシュに失敗することがあります。 リフレッシュに失敗した原因を特定するには、以下を実行してください:
|
動的テーブルが再初期化されています。 |
動的テーブルが再初期化されるのは、以下のいずれかの原因が考えられます。
初期化に関する一般的な情報については、 動的テーブル初期化の理解 をご参照ください。 |
動的テーブル作成のトラブルシューティング¶
問題 |
解決策 |
---|---|
動的テーブルの作成に時間がかかっています。 |
CREATE DYNAMIC TABLEステートメントを使用して動的テーブルを作成すると、初期リフレッシュははスケジュールされた時間( スキャンされるデータの量に応じて、初期化に時間がかかる場合があります。進行状況を表示するには、以下を実行します。
初期化に関する一般的な情報については、 動的テーブル初期化の理解 をご参照ください。 |
動的テーブルをデバッグする¶
問題 |
解決策 |
---|---|
動的テーブルのメタデータが表示されません。 |
動的テーブルのメタデータとInformation Schemaを表示するには、その動的テーブルの MONITOR 権限を持つロールを使用する必要があります。詳細については、 動的テーブルのメタデータを表示する権限 をご参照ください。 |
動的テーブルが中断しています。 |
動的テーブルが中断する理由にはいくつかあります。
動的テーブルが中断された理由を確認するには、次のようにしてください:
|