Sur la plateforme SAS Viya, l'interaction avec Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle. (CAS) est au cœur des performances pour le traitement massif de données. Que vous pilotiez l'architecture d'une infrastructure data ou que vous développiez des pipelines analytiques, la bonne gestion des sessions et des espaces de stockage in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs. (caslibsUne caslib est un conteneur logique dans SAS Viya regroupant des données en mémoire (tables CAS) et une source de stockage physique, tout en gérant les droits d'accès associés.) est une compétence indispensable.
Dans cet article, nous allons explorer comment démarrer une 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., configurer un 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., et importer des données de manière efficace, tout en gardant un œil sur les évolutions récentes de la plateforme (notamment à partir de la version 2025.02).
1. Démarrer une 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.
Avant d'exécuter des opérations analytiques sur le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions., vous devez établir une 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. active. L'instruction cas permet de vous connecter à l'instance Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle..
Nom de 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. : Ici, la 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. s'appelle mySession. Si vous omettez de préciser un nom, SAS Viya attribuera par défaut le nom Casauto.
Évolution notable (depuis la version 2025.02) : Le SAS Compute Server est désormais capable d'exécuter directement des analyses pour les procédures haute performance (HP) de SAS Viya. Par conséquent, il est techniquement possible d'accéder à certaines données et d'exécuter des traitements sans nécessairement ouvrir une 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. explicite. Néanmoins, pour exploiter pleinement la puissance du moteur in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs. distribué de CAS, l'initialisation d'une 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. reste la pratique standard.
2. Ajouter et configurer un 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.
Un 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. (CAS library) sert d'intermédiaire entre le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions. et vos sources de données physiques (fichiers, bases de données, etc.).
L'exemple suivant crée un 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. pointant vers un répertoire physique, puis associe un libref SAS via le moteur CAS :
2
3
4
5
path="/data/path/"
sessref=mysession subdirs;
libname myCaslib cas;
Avant la version 2025.02, l'utilisation d'un moteur de libellé CAS (LIBNAME ... cas) était obligatoire pour accéder aux tables en mémoire via les procédures haute performance. Depuis la version 2025.02, le SAS Compute Server s'affranchit de cette contrainte pour certaines tâches, rendant l'étape d'assignation du libref optionnelle selon l'architecture de votre workflow.
3. Importer des données dans CAS
Plusieurs méthodes permettent d'ingérer vos données (fichiers CSV, bases de données, flux HTTP) vers le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions. ou le SAS Compute Server. Voyons deux approches courantes et robustes.
Méthode A : Utiliser la procédure CASUTIL (Recommandée)
PROC CASUTIL est l'outil idéal pour gérer les tables et les fichiers directement au sein de CAS. L'exemple ci-dessous charge un fichier CSV distant et le transforme en table en mémoire :
2
3
4
5
6
7
load file="/data/path/MESDONNEES.csv"
importoptions=
(filetype="csv" getnames="true")
outcaslib="mycaslib" casout="MESDONNEES"
replace;
quit;
Détails de l'instruction :
load file=: Spécifie le fichier CSV source accessible par le serveur CASMoteur analytique "in-memory" de SAS Viya. Il traite les données en parallèle (MPP) sur plusieurs nœuds pour offrir une puissance de calcul massive et une exécution ultra-rapide des actions..importoptions=: Définit le format (filetype="csv") et indique que la première ligne contient les noms des variablesColonnes d'une table SAS contenant des données spécifiques (numériques ou caractères). Elles possèdent des attributs comme le nom, le type, la longueur, l'étiquette et le format d'affichage. (getnames="true").outcaslib=&casout=: Ciblent respectivement le 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. de destination et le nom de la table in-memoryTechnique stockant les données directement dans la RAM pour un accès ultra-rapide, permettant des analyses massives et calculs complexes en temps réel sans les latences liées aux disques durs. résultante (MESDONNEES).replace: Écrase la table si elle existe déjà en mémoire.
Méthode B : Télécharger via PROC HTTP et charger via PROC CAS
Si vos données résident sur un serveur web distant ou une API externe, vous pouvez automatiser le téléchargement local avant de les pousser vers CAS.
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
filename scrdata temp;
/* 2. Téléchargement du fichier via HTTP */
proc http
url='https://www.nicolas.housset.fr/data/MESDONNEES.csv'
out=scrdata;
run;
/* 3. Téléversement dans CAS et vérification */
proc cas;
upload
path="%sysfunc(pathname(scrdata))"
casOut={caslib="mycaslib", name="MESDONNEES"}
importOptions="csv";
table.tableInfo /
caslib="mycaslib",
table="MESDONNEES";
quit;
/* 4. Nettoyage du fichier temporaire */
filename scrdata clear;
Points clés de ce script :
- Le
FILENAME ... tempgénère un espace de stockage éphémère. PROC HTTPeffectue la requête GET pour récupérer le jeu de données distant.- L'action
uploadintégrée àPROC CASlit le fichier temporaire via la macro fonctionnelle%sysfunc(pathname())et l'injecte directement en mémoire. - L'action
table.tableInfopermet de s'assurer immédiatement de la bonne intégrité et de la présence de la table fraîchement créée.
Conclusion
L'architecture de SAS Viya continue d'évoluer vers plus de flexibilité, notamment grâce aux optimisations apportées au Compute Server. Cependant, la maîtrise des sessions CAS et des commandes d'ingestion telles que PROC CASUTIL reste un pilier fondamental pour tout ingénieur data souhaitant optimiser ses flux de traitement à grande échelle.






