Lors du chargement de données dans CAS à l'aide de PROC CASUTIL, vous avez le choix entre deux méthodes de chargement de la table: sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya.-scope ou global-scope. Ceci est contrôlé par l'option PROMOTE de l'instruction PROC CASUTIL.
Les tables SessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya.-scope ne peuvent être vues que par une seule session CASConnexion temporaire entre un client et le serveur Cloud Analytic Services. Elle alloue des ressources dédiées pour l'exécution distribuée de tâches analytiques et la gestion des tables en mémoire. et sont supprimées du CAS lorsque cette sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. est terminée, alors que les tables Global-scope peuvent être vues publiquement et ne seront pas supprimées lorsque la session CASConnexion temporaire entre un client et le serveur Cloud Analytic Services. Elle alloue des ressources dédiées pour l'exécution distribuée de tâches analytiques et la gestion des tables en mémoire. sera terminée.
Exemple de création d'une table SessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya.-scope
Création de la session CASConnexion temporaire entre un client et le serveur Cloud Analytic Services. Elle alloue des ressources dédiées pour l'exécution distribuée de tâches analytiques et la gestion des tables en mémoire. (MYSESSION) et d'une bibliothèque pointant vers une 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. (CASGADATA):
Chargement de la table dans CAS (table myGAanalytics)
Si je termine ma sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya., via le code ci-dessous, ma table n'est plus accessible :
Exemple de création d'une table Global-scope :
Pour charger une table dans CAS est la rendre "globale" il faut ajouter l'option promote :
Il est également possible de soumettre une "cas action" pour charger cette table :
Vérifions maintenant la portée de cette table, en utilisant le code ci-dessous :
Maintenant que cette table est promue, elle sera chargé et accessible 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. à chaque création d'un libname sur la 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.. Après avoir terminé sa sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya., la table est toujours 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., comme le montre cette copie d'écran de SASEnvironmentManager :
Plutôt que de supprimer la table de portée globale (myGAanalytics), puis de charger la nouvelle table CAS , vous pouvez utiliser une proc CAS pour supprimer la table de portée globale; charger la nouvelle table (myGAanalyticsNEW), puis promouvoir cette table.
Cela permet de réduire le temps nécessaire pour que la nouvelle table soit disponible.
Voici un exemple :
1
2
2
CAS MYSESSION;
CASLIB _ALL_ ASSIGN;
CASLIB _ALL_ ASSIGN;
1
2
3
4
2
3
4
proc casutil;
load casdata="myGAanalytics.sashdat" incaslib="LIBCAS"
outcaslib="LIBCAS" casout="myGAanalytics";
run;
load casdata="myGAanalytics.sashdat" incaslib="LIBCAS"
outcaslib="LIBCAS" casout="myGAanalytics";
run;
Si je termine ma sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya., via le code ci-dessous, ma table n'est plus accessible :
1
2
2
CAS MYSESSION DISCONNECT;
CAS MYSESSION TERMINATE;
CAS MYSESSION TERMINATE;
1
2
2
CAS MYSESSION;
libname LIBCAS cas caslib="LIBCAS";
libname LIBCAS cas caslib="LIBCAS";
1
2
3
4
2
3
4
proc casutil;
load casdata="myGAanalytics.sashdat" incaslib="LIBCAS"
outcaslib="LIBCAS" casout="myGAanalytics" promote;
run;
load casdata="myGAanalytics.sashdat" incaslib="LIBCAS"
outcaslib="LIBCAS" casout="myGAanalytics" promote;
run;
1
2
3
4
2
3
4
proc cas;
table.loadTable / path='myGAanalytics.sashdat', caslib='LIBCAS', casOut={name='myGAanalytics', caslib='LIBCAS',
replace=false, promote=true};
run;
table.loadTable / path='myGAanalytics.sashdat', caslib='LIBCAS', casOut={name='myGAanalytics', caslib='LIBCAS',
replace=false, promote=true};
run;
1
2
3
2
3
proc casutil;
list tables incaslib="LIBCAS";
run;
list tables incaslib="LIBCAS";
run;
Maintenant que cette table est promue, elle sera chargé et accessible en mémoireGemini saidEspace 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. à chaque création d'un libname sur la 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.. Après avoir terminé sa sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya., la table est toujours 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., comme le montre cette copie d'écran de SASEnvironmentManager :
Promouvoir une table CAS de niveau sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. en table CAS global
Le code ci-dessous permet de promouvoir une table CAS de votre sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. utilisateur vers une table globale :1
2
3
2
3
proc casutil incaslib="LIBCAS" outcaslib="LIBCAS";
promote casdata="myGAanalytics" casout="myGAanalytics";
quit;
promote casdata="myGAanalytics" casout="myGAanalytics";
quit;
Est-il possible de remplacer une table Global-scope ?
Les tables CAS à portée globale (Global-scope) ne peuvent pas être remplacées, vous devez toujours supprimer une table promue avant de la remplacer. (source :DropTable is required to replace a global-scope table) Si vous essayez de promouvoir une table promue vous pourriez rencontrer le message d'erreur suivant :NOTE: Executing action 'table.promote'.
ERROR: The target table myGAanalytics of the promotion already exists. Please specify a different name.
ERROR: The action stopped due to errors.
Ma table myGAanalytics était déjà une table CAS globale. Cette erreur est survenue lorsque j'ai voulu remplacer cette table CAS global par une table de portée sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya., via le code ci-dessous :
1
2
3
2
3
proc casutil incaslib="LIBCAS" outcaslib="LIBCAS";
promote casdata="myGAanalyticsNEW" casout="myGAanalytics";
quit;
promote casdata="myGAanalyticsNEW" casout="myGAanalytics";
quit;
- Suppression de la table CAS promue myGAanalytics.
- Promote de la table myGAanalyticsNew en renommage en myGAanalytics
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
proc cas;
action table.dropTable /
caslib="libcas"
name="myGAanalytics";
action table.promote /
sourceCaslib="libcas"
name = "myGAanalyticsNew"
targetCaslib = "libcas"
target = "myGAanalytics";
action table.tableinfo /
caslib="libcas";
run;
run;
action table.dropTable /
caslib="libcas"
name="myGAanalytics";
action table.promote /
sourceCaslib="libcas"
name = "myGAanalyticsNew"
targetCaslib = "libcas"
target = "myGAanalytics";
action table.tableinfo /
caslib="libcas";
run;
run;






