ディレクトリテーブルのメタデータ自動更新

内部ステージまたは外部ステージで、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。

リフレッシュ操作は、メタデータをストレージ内の関連ファイルの最新セットと同期させ、次のタイプの変更に対応して発生します。

  • パス内の新しいファイルがテーブルメタデータに追加されます。

  • パス内のファイルは、テーブルメタデータで更新されます。

  • パス内になくなったファイルは、テーブルメタデータから削除されます。

内部ステージ

内部ステージのディレクトリ・テーブルを自動的に更新すると、次のような場合にメタデータが内部の名前付きステージとパスにある関連ファイルの最新のセットと同期されます。

  • パス内の新しいファイルがテーブルメタデータに追加されます。

  • パス内のファイルへの変更は、テーブルメタデータで更新されます。

  • パス内になくなったファイルは、テーブルメタデータから削除されます。

ディレクトリテーブルを有効にした内部名前付きステージの作成

CREATE STAGE コマンドを使用して、ディレクトリテーブルを有効にした内部名前付きステージを作成します。Snowflakeは、ステージングされたデータファイルをディレクトリテーブルのメタデータに読み取ります。

CREATE STAGE my_int_stage
  DIRECTORY = (
    ENABLE = TRUE
    AUTO_REFRESH = TRUE
  );
Copy

外部ステージ

以下のイベント通知サービスを使用すると、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。

自動リフレッシュを設定するには、ファイルが配置されているクラウドストレージサービスのトピックをご参照ください。

クロスクラウドのサポート

Snowflakeは、外部ステージのクロスクラウド、クロスリージョンの自動ディレクトリテーブルリフレッシュに対応しています。

次の表は、Snowflakeアカウントをホストしている クラウドプラットフォーム に基づいて、ディレクトリテーブルの自動リフレッシュのためにSnowflakeがサポートするクロスクラウドオプションを示しています。

Amazon S3

Google Cloud Storage

Microsoft Azure Blobストレージ

Microsoft Data Lake Storage Gen2

MicrosoftAzure汎用v2

AWSでホストされているアカウント

GCPでホストされているアカウント

Azureでホストされているアカウント

考慮事項

  • 自動リフレッシュはイベントベースであり、大規模ステージや急成長ステージでは手動リフレッシュよりも優れたパフォーマンスを実現します。

  • 内部ステージの自動リフレッシュは現在、 AWS でホストされているアカウントで利用可能です。Snowflakeは、アカウントがGoogle CloudまたはAzureでホストされている場合、内部ステージでのディレクトリテーブルのメタデータの更新をサポートしていません。

次のトピック: