ディレクトリテーブルの管理¶
このトピックでは、ディレクトリテーブルを使用して外部ステージまたは内部ステージを作成および管理する方法について説明します。
ディレクトリテーブルを使用したステージの作成¶
このセクションでは、ディレクトリテーブルを階層化してステージングされたファイルに関するメタデータを保存するステージを(CREATE STAGE を使用して)作成する手順について説明します。
内部ステージのディレクトリテーブルでは、 手動でメタデータをリフレッシュする 必要があります。外部ステージにディレクトリテーブルを含めて、手動でメタデータを更新することもできます。自動メタデータリフレッシュについては、 自動メタデータリフレッシュ をご参照ください。
ディレクトリテーブルを使用してステージを作成するための構文は、標準の外部ステージまたは内部ステージを作成する場合とほぼ同じです。オプションの DIRECTORY パラメーターを TRUE に設定します。
完全な構文とパラメーターの説明については、 CREATE STAGE をご参照ください。既存のステージにディレクトリテーブルを追加するには、 ALTER STAGE ... SET DIRECTORY コマンドを使用します。
注釈
ディレクトリテーブルを使用してステージを作成した後、 ALTER STAGE ... REFRESH を実行して、ディレクトリテーブルのメタデータを手動で更新する 必要 があります。
例¶
ディレクトリテーブルを含む mystage
という名前の内部ステージを作成します。ステージは myformat
という名前のファイル形式を参照します。
CREATE STAGE mystage DIRECTORY = (ENABLE = TRUE) FILE_FORMAT = myformat;
ディレクトリテーブルを含む mystage
という名前の外部ステージを作成します。ステージは、パスが files
で load
という名前のバケットまたはコンテナーを参照します。 my_storage_int
ストレージ統合により、クラウドストレージの場所への安全なアクセスが提供されます。
注釈
URL 値の保存場所は、スラッシュ(/
)で終わる必要があります。
Amazon S3
CREATE STAGE mystage
URL='s3://load/files/'
STORAGE_INTEGRATION = my_storage_int
DIRECTORY = (ENABLE = TRUE);
Google Cloud Storage
CREATE STAGE mystage
URL='gcs://load/files/'
STORAGE_INTEGRATION = my_storage_int
DIRECTORY = (ENABLE = TRUE);
Microsoft Azure
CREATE STAGE mystage
URL='azure://myaccount.blob.core.windows.net/load/files/'
STORAGE_INTEGRATION = my_storage_int
DIRECTORY = (ENABLE = TRUE);
ディレクトリテーブルメタデータのリフレッシュ¶
自動リフレッシュ¶
クラウドストレージサービスのメッセージングサービスを使用すると、ディレクトリテーブルのメタデータを自動的にリフレッシュできます。自動リフレッシュを構成するには、 ディレクトリテーブルのメタデータ自動更新 をご参照ください。
手動リフレッシュ¶
注釈
外部ステージで手動リフレッシュを行うと、同時自動リフレッシュをブロックします。手動リフレッシュが完了すると、自動リフレッシュが再開されます。
手動リフレッシュは、ステージ上でリスト操作を実行し、大きなステージや急速に成長するステージでは、時間がかかったり、コストが高くなることがあります。代わりに、イベントベースの 自動リフレッシュ を使用します。
ディレクトリテーブルのメタデータを手動でリフレッシュするには、 ALTER STAGE コマンドを使用します。
最高のパフォーマンスを実現するには、 ALTER STAGE で選択的な SUBPATH
を使用してください。そうすることで、リストアップとチェックが必要なファイルの数を減らすことができます。パスによるデータの整理については、 データファイルのステージングのベストプラクティス をご参照ください。
例:
ALTER STAGE my_stage REFRESH SUBPATH = '2024/01/31';
このコマンドは、次の列を返します。
列 |
説明 |
---|---|
|
ステージングされたソースファイルの名前とファイルへの相対パス。 |
|
ステータス: REGISTERED_NEW、 REGISTERED_UPDATE、 REGISTER_SKIPPED、 REGISTER_FAILED、 UNREGISTERED、または UNREGISTER_FAILED。 |
|
ファイル登録状況の詳細説明。 |