Du DATA Step à CAS : Guide pratique pour analyser vos données en mémoire

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Débutant
Publié le :
Stéphanie

Le Conseil de l'Expert

Stéphanie
Spécialiste Machine Learning et IA.

Ce flux illustre parfaitement le cycle de vie standard d'une analyse dans l'écosystème Viya :

La puissance de PROC MEANS en CAS : En exécutant cette procédure directement sur une table résidente en mémoire (casuser.baseball_stats), SAS utilise automatiquement tous les nœuds du cluster. Le calcul des statistiques descriptives devient quasi instantané, même sur des volumes massifs, car les données ne transitent plus par le client.

L'historique des actions, votre boîte noire : La capacité à lister l'historique de la session est un atout majeur pour la gouvernance. Cela permet de retracer chaque action envoyée au serveur, d'identifier les goulets d'étranglement ou de valider la conformité d'un traitement complexe.

Mon conseil : Prenez l'habitude d'extraire l'historique des actions en fin de projet. C'est une documentation précieuse qui prouve non seulement ce que vous avez calculé, mais surtout comment le serveur l'a réellement exécuté

Le script commence par initialiser la session CAS et assigner toutes les CASLIBs disponibles. Ensuite, il utilise un DATA STEP pour copier le jeu de données 'sashelp.baseball' vers une nouvelle table CAS nommée 'baseball_stats' dans la CASLIB 'casuser'. Une fois les données en CAS, 'PROC MEANS' est exécutée sur 'casuser.baseball_stats' pour calculer des statistiques descriptives. Enfin, le script liste l'historique complet des actions de la session CAS, ce qui est utile pour le débogage et l'audit.
Analyse des données

Type : SASHELP


Le jeu de données source 'sashelp.baseball' est une table interne fournie par SAS. Il est chargé dans la bibliothèque CAS 'casuser' avant d'être utilisé pour l'analyse.

1 Bloc de code
CAS Session Management
Explication :
Ces commandes initialisent une session CAS et assignent toutes les bibliothèques CAS (CASLIBs) disponibles, rendant les tables CAS accessibles pour le traitement.
Copié !
1cas;
2caslib _all_ assign;
2 Bloc de code
DATA STEP Data
Explication :
Ce DATA STEP crée une nouvelle table CAS nommée 'baseball_stats' dans la CASLIB 'casuser'. Il copie les données du jeu de données SASHELP 'sashelp.baseball' dans cette nouvelle table. L'exécution de ce DATA STEP se fait sur le serveur CAS.
Copié !
1 
2DATA casuser.baseball_stats;
3SET sashelp.baseball;
4RUN;
5 
3 Bloc de code
PROC MEANS
Explication :
La procédure MEANS est exécutée sur la table CAS 'casuser.baseball_stats' pour générer des statistiques descriptives (telles que la moyenne, le minimum, le maximum, l'écart type) pour toutes les variables numériques présentes dans la table.
Copié !
1PROC MEANS DATA=casuser.baseball_stats;
2RUN;
Result
4 Bloc de code
CAS Action
Explication :
Cette action CAS liste l'historique complet des opérations et des actions exécutées dans la session CAS 'casauto'. C'est un outil utile pour le traçage et le débogage des processus CAS.
Copié !
1cas casauto listhistory _all_;
L'Astuce Pro
L'astuce technique déterminante ici réside dans l'utilisation de la commande casauto listhistory all pour auditer l'exécution de vos analyses : alors que la PROC MEANS semble s'exécuter de manière classique, elle déclenche en réalité l'action aggregate.summary en arrière-plan sur le serveur CAS. En consultant l'historique, vous pouvez extraire le temps CPU exact consommé par chaque noeud worker et le volume de données transféré sur le réseau, ce qui est indispensable pour identifier si votre table est correctement répartie (sharding) ou si un déséquilibre de charge entre les noeuds ralentit vos calculs statistiques sur de gros volumes.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © 2021, SAS Institute Inc., Cary, NC, USA. All Rights Reserved. SPDX-License-Identifier: Apache-2.0