アーカイブデータの取得¶
注釈
ストレージライフサイクルポリシー は現在、政府リージョンではご利用いただけません。
CREATETABLE... FROMARCHIVEOF コマンドを使用してアーカイブデータを読み取ります。
たとえば、次のステートメントは、event_timestamp の値が2023年1月15日から1月20日の間であるアーカイブ行から新しいテーブルを作成します。
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 による検索コストの見積もり¶
EXPLAIN コマンドを使用してSnowflakeがアーカイブストレージから取得するファイルの数を推定します。
コマンド出力には以下が含まれます。
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';