Retrieve archived data¶
注釈
ストレージライフサイクルポリシー は現在、政府リージョンではご利用いただけません。
CREATETABLE... FROMARCHIVEOF コマンドを使用してアーカイブデータを読み取ります。
For example, the following statement creates a new table from archived rows where the value in the event_timestamp column is between
January 15 and January 20 of 2023:
CREATE TABLE my_table
FROM ARCHIVE OF my_source_table AS st
WHERE st.event_timestamp BETWEEN '01/15/2023' AND '01/20/2023';
構文の詳細とパラメーターの説明については、CREATETABLE ドキュメント内の CREATETABLE ... FROMARCHIVEOF をご参照ください。
注釈
このコマンドを使用するには、ソーステーブルに対する OWNERSHIP 権限が必要です。
列の定義、ポリシー、タグ、その他の制約の指定はサポートされていません。Snowflakeは、ソーステーブルからテーブルスキーマ、ポリシー、タグ、および制約を自動的に取得します。
WHERE 句が必要です。アーカイブデータの読み取りはコストがかかるので、頻繁には実行しないでください。WHERE 句を使用して結果をフィルタリングすると、Snowflakeがアーカイブストレージから必要なデータのみを読み取るようにすることで、コストを最小限に抑えることができます。
Snowflakeがアーカイブストレージから取得するファイルの数を見積もるには、この操作の前に EXPLAIN コマンドを実行します。出力には、
createTableFromArchiveData操作が含まれ、TableScan 操作のobjects列にARCHIVE OF <table>と表示されます。詳細については、 EXPLAIN による検索コストの見積もり をご参照ください。アーカイブストレージからのデータ取得履歴を表示するには、 ARCHIVE_STORAGE_DATA_RETRIEVAL_USAGE_HISTORY ビュー を使用します。
アーカイブストレージの COLD ティアからデータを取得するには、Snowflakeは最初に外部クラウドストレージからファイルを復元する必要があります。このプロセスには最大48時間かかる場合があります。
このプロセスをサポートするには、次のパラメーターを適切に設定します。
STATEMENT_TIMEOUT_IN_SECONDS は48時間以上である必要があります。
ABORT_DETACHED_QUERY は FALSE である必要があります。
COLD ストレージティアの復元操作は、復元操作ごとに最大100万件のファイルをサポートします。
アーカイブストレージからデータを取得する CREATE TABLE 操作をキャンセルすると、取得コストが発生する可能性があります。
EXPLAIN による検索コストの見積もり¶
To estimate how many files Snowflake will retrieve from archive storage, use the EXPLAIN command.
The command output includes the following data:
operation列でのcreateTableFromArchiveData操作。TableScan 操作の
objects列のARCHIVE OF <table>。アーカイブ TableScan 操作の
assignedPartitions列で取得するパーティションの数。この値は、アーカイブストレージからデータを取得するために、Snowflakeがコールドティアから復元するパーティションの数を示します。
例:
EXPLAIN
CREATE TABLE my_table
FROM ARCHIVE OF my_source_table AS st
WHERE st.event_timestamp BETWEEN '01/15/2023' AND '01/20/2023';