Les sessions CAS dans Viya
Si vous êtes développeur SAS et que vous souhaitez en apprendre un peu plus sur le moteur Cloud Analytics Service (CAS) de SAS VIYA, cet article est pour vous. Son objectif est de vous familiariser avec les sessions, les bibliothèques et le cycle de vie des données dans CAS.
J'illustre également les gains de performance que vous pouvez obtenir avec CAS par rapport à SAS 9.
Envisagez CAS comme un serveur logique où le traitement est effectué en mémoire sur une ou plusieurs machines.
Lorsqu'un utilisateur se connecte à SAS Studio, aucune session CAS n'est en cours d'exécution.
En exécutant une instruction cas que l'utilisateur va créer une session qui sera utilisé pour accéder aux bibliothèques et aux tables CAS.
À noter qu'il est possible démarrer plusieurs sessions CAS.
Cette instruction crée une session avec le nom par défaut (CASAUTO), sur le serveur actuel avec le port par défaut et nom d'utilisateur avec lequel vous vous êtes connecté à SAS Studio :
Chaque session CAS possède un identifiant unique (UUID). Cet identifiant s'affiche dans le journal. Il est préférable de spécifier une déclaration CAS avec un nom de session, mais également avec différentes options appropriées :
Ce qui donne :
La déclaration CAS ci-dessus permet d'atteindre les objectifs suivants :
Si vous lancez une nouvelle session SAS Studio, vous pouvez vous reconnecter à votre sessions CAS, en précisant l'uuid :
CAS SESSIONS
Vous devez démarrer une session CAS à partir de votre session SAS pour travailer "in-memory" avec SAS Cloud Analytics Service.Cette session va "encapsuler" tout ce que vous faites sans affecter, par exemple, les autres utilisateurs. Voici un exemple de syntaxe simple pour créer une sessions CAS :
1 |
cas; |
1 2 3 |
cas sessionhousset sessopts=(caslib=casuser timeout=3600 metrics=true) uuidmac=sessionhousset_uuid; |
- Démarre la session CAS avec le nom sessionhousset
- définit la caslib par défaut - utilisée pour conserver des données en mémoire - en tant que casuser,
- Augmente le délai d'attente par défaut pour une session CAS inactive à 60 minutes.
- L'option metrics=true génère des informations dans journal détaillant chaque action appelée ainsi que des statistiques de performance.
- Une macro-variable appelée sessionhousset_uuid est renseignée avec l'UUID de la session CAS.
1 |
%put Session cas UUID: &sessionhousset_uuid; |
Quelques instructions à connaitre lorsque vous travaillez avec des sessions CAS
Quelles sont les sessions CAS en cours d’exécution ?
1 |
cas _all_ list; |
Obtenez les spécificités de version et de licence du serveur hébergeant votre session CAS:
1 |
cas sessionhousset listabout; |
Se déconnecter de sa session CAS :
1 |
cas sessionhousset disconnect; |
Se reconnecter à cette session CAS :
1 |
cas sessionhousset reconnect; |
1 |
cas MASESSION uuid="d6e32927-a4c1-9449-b792-1a58cb3a9663"; |
Terminer sa session CAS :
1 |
cas sessionhousset terminate; |
Liste l'ensemble des sessions associé à un mon compte utilisateur
1 2 3 |
proc cas; session.listSessions; run; |