ディレクトリテーブルのメタデータ自動更新¶
内部ステージまたは外部ステージで、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。
リフレッシュ操作は、メタデータをストレージ内の関連ファイルの最新セットと同期させ、次のタイプの変更に対応して発生します。
パス内の新しいファイルがテーブルメタデータに追加されます。
パス内のファイルは、テーブルメタデータで更新されます。
パス内になくなったファイルは、テーブルメタデータから削除されます。
内部ステージ¶
内部ステージのディレクトリ・テーブルを自動的に更新すると、次のような場合にメタデータが内部の名前付きステージとパスにある関連ファイルの最新のセットと同期されます。
パス内の新しいファイルがテーブルメタデータに追加されます。
パス内のファイルへの変更は、テーブルメタデータで更新されます。
パス内になくなったファイルは、テーブルメタデータから削除されます。
ディレクトリテーブルを有効にした内部名前付きステージの作成¶
CREATE STAGE コマンドを使用して、ディレクトリテーブルを有効にした内部名前付きステージを作成します。Snowflakeは、ステージングされたデータファイルをディレクトリテーブルのメタデータに読み取ります。
CREATE STAGE my_int_stage
DIRECTORY = (
ENABLE = TRUE
AUTO_REFRESH = TRUE
);
外部ステージ¶
以下のイベント通知サービスを使用すると、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。
Amazon S3: Amazon SQS (Simple Queue Service)
Google Cloud Storage: Google Cloud Pub/Sub
Microsoft Azure: Microsoft Azure Event Grid
自動リフレッシュを設定するには、ファイルが配置されているクラウドストレージサービスのトピックをご参照ください。
クロスクラウドのサポート¶
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でホストされている場合、内部ステージでのディレクトリテーブルのメタデータの更新をサポートしていません。
次のトピック: