Récupérer des données archivées¶
Note
Les politiques de cycle de vie du stockage ne sont actuellement pas disponibles dans les régions gouvernementales.
Lecture des données archivées à l’aide de la commande CREATE TABLE … FROM ARCHIVE OF.
Par exemple, l’instruction suivante crée une nouvelle table à partir de lignes archivées où la valeur dans la colonne event_timestamp est comprise entre le 15 janvier et le 20 janvier 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';
Pour plus de détails sur la syntaxe et la description des paramètres, voir CREATE TABLE … FROM ARCHIVE OF dans le document CREATE TABLE.
Note
L’utilisation de cette commande nécessite le privilège OWNERSHIP sur la table source.
La spécification de définitions de colonnes, de politiques, de balises ou d’autres contraintes n’est pas prise en charge. Snowflake récupère automatiquement le schéma de la table, les politiques, les balises et les contraintes de la table source.
La clause WHERE est obligatoire. La lecture des données archivées est coûteuse et ne doit être effectuée qu’occasionnellement. Filtrer des résultats à l’aide de la clause WHERE vous aide à réduire les coûts en garantissant que Snowflake lit uniquement les données dont vous avez besoin du stockage d’archives.
Pour estimer le nombre de fichiers que Snowflake récupérera du stockage d’archives, exécutez la commande EXPLAIN avant cette opération. La sortie comprend une opération
createTableFromArchiveDataet afficheARCHIVE OF <table>dans la colonneobjectspour l’opération TableScan. Pour plus d’informations, voir Estimer les coûts de récupération avec EXPLAIN.Pour afficher un historique de la récupération des données à partir du stockage d’archives, utilisez l’Vue ARCHIVE_STORAGE_DATA_RETRIEVAL_USAGE_HISTORY.
Pour récupérer des données du niveau COLD de stockage d’archives, Snowflake doit d’abord restaurer les fichiers du stockage cloud externe. Ce processus peut prendre jusqu’à 48 heures.
Pour prendre en charge ce processus, définissez les paramètres suivants de manière appropriée :
STATEMENT_TIMEOUT_IN_SECONDS doit être d’au moins 48 heures.
ABORT_DETACHED_QUERY doit être FALSE.
Les opérations de restauration du niveau de stockage COLD prennent en charge un maximum d’un million de fichiers par opération de restauration.
Si vous annulez une opération CREATE TABLE qui récupère les données du stockage d’archives, vous pourriez tout de même devoir payer des coûts de récupération.
Estimer les coûts de récupération avec EXPLAIN¶
Utilisez la commande EXPLAIN pour estimer le nombre de fichiers que Snowflake récupérera dans le stockage d’archives.
La sortie de la commande comprend les éléments suivants :
Une opération
createTableFromArchiveDatadans la colonneoperation.ARCHIVE OF <table>dans la colonneobjectspour l’opération TableScan.Le nombre de partitions qui seront récupérées dans la colonne
assignedPartitionspour l’opération TableScan d’archivage. Cette valeur indique le nombre de partitions que Snowflake restaurera à partir du niveau froid pour récupérer les données du stockage d’archives.
Par exemple :
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';