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.

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.

La chaîne peut être délimitée par des guillemets simples, ce qui permet d’insérer des caractères spéciaux, y compris des espaces, dans les noms de lieux (par exemple '@"my stage"').

Paramètres facultatifs

PATTERN = 'motif_regex'

Spécifie un modèle d’expression régulière pour filtrer les fichiers à supprimer.

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/;
    
  • 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 d’une zone de préparation interne nommée mystage :

REMOVE @mystage;

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.*';