Je rencontre un blocage lors de la suppression d'un modèle partagé entre plusieurs départements, comment manipuler les tables à portée globale ?

Gestion des tables Global Scope dans SAS Viya

Lorsque vous déployez des solutions analytiques à l'échelle de l'entreprise, les tables contenant les modèles sont souvent promues dans un espace global pour être consultables par de multiples utilisateurs ou microservicesLes microservices sont une approche d'architecture logicielle où une application est décomposée en une collection de petits services indépendants, spécialisés et communicant entre eux via des APIs légères. Contrairement aux architectures "monolithiques" anciennes, chaque microservice remplit une fonction unique (ex: gestion du catalogue, authentification, moteur de calcul).

Dans SAS Viya 4, cette architecture est native. Elle permet à la plateforme de s'exécuter sur Kubernetes, offrant une flexibilité totale : chaque composant de SAS peut être mis à jour, redémarré ou mis à l'échelle (scaling) individuellement sans affecter le reste du système.
. Une tentative de suppression basique échouera sur ces tables partagées en raison des verrous de sécurité.

Pour modifier délibérément une ressource partagée globale, vous devez spécifier l'argument deleteGlobal en le définissant à vrai. À l'inverse, si vous travaillez sur une table isolée et que vous désirez rendre le résultat de votre nettoyage directement accessible à tous vos collaborateurs en 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.
, vous pourrez faire appel au paramètre promote afin d'élever le niveau de visibilité de la table résultante.

Illustration de la réponse

Exemple de Code Additionnel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* CASL Script : Suppression sécurisée d'un modèle en portée globale
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */


proc cas;
/* 1. Vérification de l'existence du modèle dans la Caslib globale */
table.tableExists /
caslib="Models_Shared",
name="gradient_boosting_prod";

run;

/* 2. Suppression conditionnelle avec l'argument de portée globale */
table.dropTable /
caslib="Models_Shared",
name="gradient_boosting_prod",
quiet=True, /* Évite l'erreur si la table est absente */
deleteGlobal=True; /* INDISPENSABLE pour les tables promues */

run;
quit;

Exemples pour l'action deleteModel

Suppression basique d'un modèle

Ce code supprime le modèle nommé 'MonModeleObsolète' de la table 'ModelTable'. Un aller simple vers l'oubli !

Suppression globale avec persistance sur disque

Cet exemple montre comment supprimer un modèle d'une table globale située dans la caslib 'Public', puis sauvegarder et remplacer immédiatement la table mise à jour sur le disque. Le crime parfait, sans laisser de traces !