REMOVE¶
Supprime les fichiers d’une zone de préparation externe (stockage Cloud externe) ou interne (c.-à-d. Snowflake).
Pour les zones de préparation internes, les types de zones de préparation suivants sont pris en charge :
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 :
Syntaxe¶
REMOVE { internalStage | externalStage } [ PATTERN = '<regex_pattern>' ]
Où :
internalStage ::= @[<namespace>.]<int_stage_name>[/<path>] | @[<namespace>.]%<table_name>[/<path>] | @~[/<path>]externalStage ::= @[<namespace>.]<ext_stage_name>[/<path>]
Paramètres requis¶
internalStage | externalStage
Indique l’emplacement où les fichiers de données sont stockés en zone de préparation :
@[namespace.]int_stage_name[/path]
Les fichiers se trouvent dans la zone de préparation interne nommée spécifiée.
@[namespace.]ext_stage_name[/path]
Les fichiers se trouvent dans la zone de préparation externe nommée spécifiée.
@[namespace.]%table_name[/path]
Les fichiers sont mis en zone de préparation pour la table spécifiée.
@~[/path]
Les fichiers sont mis en zone de préparation pour l’utilisateur actuel.
Où :
namespace
est la base de données et/ou le schéma dans lequel réside l’échelon 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.path
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
Si le nom ou le chemin de la zone de préparation comprend des espaces ou des caractères spéciaux, il doit être placé entre guillemets simples (par exemple,
'@"my stage"'
pour une zone de préparation nommée"my stage"
).
Paramètres facultatifs¶
PATTERN = 'regex_pattern'
Spécifie un modèle d’expression régulière pour filtrer les fichiers à supprimer. La commande répertorie tous les fichiers dans le
path
spécifié et applique le modèle d’expression régulière sur chacun des fichiers trouvés.
Notes sur l’utilisation¶
Si vous chargez des données à partir d’un fichier d’une zone de préparation, ne retirez pas les fichiers en zone de préparation avant que les données aient été chargées avec succès. Pour vérifier si les données ont été chargées avec succès, utilisez la commande COPY_HISTORY. Vérifiez la colonne
STATUS
pour vérifier que les données du fichier ont été chargées. Notez que si le statut estLoad in progress
, la suppression du fichier en zone de préparation peut entraîner des chargements partiels et des pertes de données.La suppression des fichiers d’une zone de préparation externe nécessite d’accorder le rôle ou l’autorisation suivante à Snowflake dans votre compte de stockage Cloud :
Service de stockage Cloud
Rôle ou autorisation
Instructions
Amazon S3
s3:DeleteObject
Google Cloud Storage
storage.objects.delete
Microsoft Azure (stockage Blob)
Storage Blob Data Contributor
Configuration d’un conteneur Azure pour le chargement de données
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”Classic Console stocke les métadonnées des feuilles de calcul dans l’onglet Worksheets de ce répertoire. La suppression du répertoire supprime l’accès aux feuilles de calcul, qui ne peuvent pas être restaurées.Cette précaution ne s’applique pas aux feuilles de calcul dans Snowsight, 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 ou externe 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.*';