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';
Copy

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 createTableFromArchiveData et affiche ARCHIVE OF <table> dans la colonne objects pour 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 :

    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 createTableFromArchiveData dans la colonne operation.

  • ARCHIVE OF <table> dans la colonne objects pour l’opération TableScan.

  • Le nombre de partitions qui seront récupérées dans la colonne assignedPartitions pour 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';
Copy