Catégories :

Commandes DML - Stockage de fichiers

REMOVE

Supprime les fichiers qui ont été stockés (c.-à-d. chargés à partir d’un système de fichiers local ou déchargés d’une table) dans l’une des zones de préparation internes suivantes de Snowflake :

  • Zone de préparation interne nommée.

  • Zone de préparation pour une table spécifiée.

  • Zone de préparation pour l’utilisateur actuel.

Notez que l’utilisation de la commande pour supprimer des fichiers d’une zone de préparation externe peut fonctionner mais n’est pas officiellement prise en charge.

REMOVE peut être abrégé en RM.

Voir aussi :

LIST

Syntaxe

REMOVE internalStage [ PATTERN = '<regex_pattern>' ]

Où :

internalStage ::=
    @[<namespace>.]<int_stage_name>[/<path>]
  | @[<namespace>.]%<table_name>[/<path>]
  | @~[/<path>]

Paramètres requis

internalStage

Indique l’emplacement dans Snowflake où les fichiers sont stockés :

@[espace_noms.]nom_zone_de_préparation_interne[/chemin]

Les fichiers sont supprimés de la zone de préparation interne nommée spécifiée.

@[espace_noms.]%nom_table[/chemin]

Les fichiers sont supprimés à partir de la zone de préparation de la table spécifiée.

@~[/chemin]

Les fichiers sont supprimés à partir de la zone de préparation de l’utilisateur actuel.

Où :

  • espace_noms est la base de données et/ou le schéma dans lequel réside la zone de préparation ou la table interne nommée. Il est facultatif si une base de données et un schéma sont actuellement utilisés dans la session. Dans le cas contraire, il est nécessaire.

  • chemin est un chemin facultatif sensible à la casse pour les fichiers de l’emplacement de stockage Cloud (c’est-à-dire que les fichiers ont des noms qui commencent par une chaîne commune) qui limite l’accès à un ensemble de fichiers. Les chemins sont appelés préfixes ou dossiers selon les services de stockage Cloud.

Note

If the stage name or path includes spaces or special characters, it must be enclosed in single quotes (e.g. '@"my stage"' for a stage named "my stage").

Paramètres facultatifs

PATTERN = 'motif_regex'

Spécifie un modèle d’expression régulière pour filtrer les fichiers à supprimer. La commande répertorie tous les fichiers dans le chemin spécifié et applique le modèle d’expression régulière sur chacun des fichiers trouvés.

Notes sur l’utilisation

  • La commande supprime tous les répertoires et fichiers qui correspondent à un chemin spécifié. Par exemple, l’instruction suivante correspondrait à l’un des objets suivants dans la zone de préparation de table mytable :

    • myobject.csv.gz (fichier)

    • myobject (répertoire)

    • myobject_new (répertoire)

    rm @%mytable/myobject;
    
  • Pour supprimer tous les fichiers d’un répertoire spécifique, incluez une barre oblique avant (/) à la fin du chemin. Par exemple :

    rm @%mytable/myobject/;
    
  • Ne pas supprimer le répertoire worksheet_data de la zone de préparation de l’utilisateur de Snowflake. L’interface Web classique stocke les métadonnées des feuilles de calcul dans l’onglet Worksheets Worksheet tab de ce répertoire. La suppression du répertoire supprime l’accès aux feuilles de calcul, qui ne peuvent pas être restaurées.

    Notez que cette précaution ne s’applique pas aux feuilles de calcul Snowsight dans la nouvelle interface Web, qui sont stockées ailleurs et ne sont pas sujettes à une suppression accidentelle.

  • Si une instruction REMOVE est interrompue avant la fin de son exécution, les fichiers déjà supprimés par cette instruction ne sont pas restaurés.

Exemples

Supprimer tous les fichiers du chemin path1/subpath2 d’une zone de préparation interne nommée mystage :

REMOVE @mystage/path1/subpath2;

Supprimer tous les fichiers à partir de la zone de préparation de la table orders :

REMOVE @%orders;

Utiliser la forme abrégée de la commande pour supprimer les fichiers dont les noms correspondent au modèle *jun* de la zone de préparation de l’utilisateur courant :

RM @~ pattern='.*jun.*';