deleteSource
Description
L'action table.deleteSource permet de supprimer physiquement un fichier ou une table directement depuis la source de données d'une bibliothèque CAS (caslibEspace de stockage logique dans SAS Viya. Elle définit l’accès aux données (source physique) et leur chargement en mémoire (serveur CAS) pour permettre des analyses distribuées haute performance.). Attention, c'est comme un coup de balai magique (et définitif) ! Contrairement à une action dropTable qui retire uniquement la table de la mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya. volatile , deleteSource va véritablement attaquer et détruire le fichier sur le système de stockage sous-jacent (par exemple, un fichier .sashdatSASHDAT est le format de fichier propriétaire de SAS Viya optimisé pour Cloud Analytic Services (CAS). Il permet un chargement ultra-rapide des données en mémoire via un accès direct (memory-mapping). sur le disque, un objet sur S3, ou une table relationnelle). Assurez-vous de posséder les droits de suppression sur la source.
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| source | (Requis) Le nom exact de la table ou du fichier physique à supprimer. N'oubliez pas l'extension (ex: '.sashdat' ou '.csv') s'il s'agit d'un fichier basé sur un système de fichiers ! |
| caslib | Le nom de la caslib cible où réside le fichier ou la table. Si omis, l'action utilise la caslib active de la session. |
| quiet | Si défini sur True, SAS reste silencieux et ne renvoie aucune erreur si la table ou le fichier n'existe pas. Idéal pour faire le ménage préventif dans vos scripts en mode ninja sans les faire planter. |
| removeAccessControls | Si défini sur True, tous les contrôles d'accès (ACL) spécifiques définis sur ce fichier ou cette table seront également purgés. |
| deleteOptions | Permet de spécifier explicitement le type de fichier (fileType) et de fournir des paramètres de sécurité (alter, write, password, encryptionPassword) si la source (comme un jeu de données BASESAS ou SPDE) est protégée. |
| dataSourceOptions | Collection très riche de paramètres permettant de s'authentifier et de configurer la connexion auprès d'une multitude de sources spécifiques (ADLS, S3, Snowflake, Oracle, Hadoop, SQLServer, etc.) avant la suppression. |
Préparation des données
Création d'un fichier physique de test (.sashdat)
Afin de démontrer l'action deleteSource en toute sécurité, nous allons d'abord charger la table de démonstration sashelp.cars en mémoire, puis la matérialiser physiquement sur le disque (format .sashdat) de notre caslib CASUSER à l'aide de l'action table.save.
| 1 | /* Chargement dans CAS depuis SAS */ |
| 2 | DATA casuser.voitures; |
| 3 | SET sashelp.cars; |
| 4 | RUN; |
| 5 | PROC CAS; |
| 6 | /* Sauvegarde de la table sous forme de fichier physique */ |
| 7 | TABLE.save / |
| 8 | TABLE="voitures" |
| 9 | name="voitures_a_supprimer.sashdat" |
| 10 | caslib="CASUSER" |
| 11 | replace=true; |
| 12 | QUIT; |
Exemples d'utilisation
Suppression simple d'un fichier physique
Utilisation de l'action deleteSource pour supprimer de manière permanente le fichier 'voitures_a_supprimer.sashdat' du système de fichiers de la caslib CASUSER. Une fois exécutée, impossible de faire machine arrière !
| 1 | PROC CAS; |
| 2 | TABLE.deleteSource / |
| 3 | caslib="CASUSER", |
| 4 | SOURCE="voitures_a_supprimer.sashdat"; |
| 5 | QUIT; |
Résultat Attendu :
Suppression silencieuse, nettoyage des accès et mot de passe (BASESAS)
Tentative de suppression d'un fichier SAS natif (.sas7bdat) potentiellement protégé par un mot de passe d'altération. L'option `quiet=true` garantit que si le fichier a déjà été supprimé par un autre processus, le code renverra quand même un statut de succès sans planter le job batch. On demande également de nettoyer les contrôles d'accès associés via `removeAccessControls`.
| 1 | PROC CAS; |
| 2 | TABLE.deleteSource / |
| 3 | caslib="CASUSER" |
| 4 | SOURCE="donnees_secretes.sas7bdat" |
| 5 | quiet=true |
| 6 | removeAccessControls=true |
| 7 | deleteOptions={ |
| 8 | fileType="BASESAS", |
| 9 | alter="SuperSecret123!" |
| 10 | }; |
| 11 | QUIT; |