Le premier exemple lit des données brutes à partir d'un fichier CSV externe accessible via une URL. Le deuxième exemple génère ses propres données de manière interne via un DATA step.
1 Bloc de code
DATA STEP / PROC CASUTIL
Explication : Ce code charge un fichier CSV depuis une URL dans une table CAS. Le 'FILENAME' statement définit l'URL. Le 'DATA step' lit le fichier en spécifiant un 'libref' CAS (mycas.names) pour la sortie, indiquant que les données sont chargées en mémoire CAS. 'INFILE' gère le format CSV, et 'INPUT' assigne les variables. Enfin, 'PROC CASUTIL' est utilisée pour sauvegarder la table CAS en mémoire de manière permanente et la lister.
Explication : Cet exemple convertit une table CAS en un jeu de données SAS. Premièrement, une session CAS est démarrée et un 'libref' CAS (mycas) est créé. Un premier 'DATA step' génère une table CAS nommée 'mycas.earnings' avec des données calculées. Ensuite, un 'libname' est défini pour une bibliothèque SAS locale ('mySAS'). Enfin, un second 'DATA step' lit la table CAS 'mycas.earnings' et la sauvegarde en tant que jeu de données SAS 'mySAS.earnings'.
Copié !
cas casauto sessopts=(caslib='casuser');
libname mycas cas;
caslib _all_ assign;
data mycas.earnings;
Amount=1000;
Rate=.075/12;
do month=1 to 12;
Earned +(amount+earned)*(rate);
end;
run;
proc print data=mycas.earnings;
run;
libname mySAS "u/user/myfiles/";
data mySAS.earnings;
set mycas.earnings;
run;
1
cas casauto sessopts=(caslib='casuser');
2
LIBNAME mycas cas;
3
caslib _all_ assign;
4
5
DATA mycas.earnings;
6
Amount=1000;
7
Rate=.075/12;
8
DO month=1 to 12;
9
Earned +(amount+earned)*(rate);
10
END;
11
RUN;
12
PROC PRINTDATA=mycas.earnings;
13
RUN;
14
15
LIBNAME mySAS "u/user/myfiles/";
16
17
DATA mySAS.earnings;
18
SET mycas.earnings;
19
RUN;
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.
« Ces deux exemples illustrent parfaitement la flexibilité de SAS Viya. Le passage de données entre le moteur traditionnel (Compute Server) et le moteur en mémoire (CAS) est une opération quotidienne pour un data scientist ou un ingénieur de données.
Le chargement direct (URL vers CAS) : C'est une méthode d'une efficacité redoutable. En utilisant FILENAME URL combiné à un DATA step pointant vers une bibliothèque CAS, vous court-circuitez les étapes de stockage intermédiaire. Les données sont lues sur le web et "poussées" directement dans la mémoire distribuée. C'est le flux idéal pour l'ingestion de données Open Data ou API.
La Persistance via CASUTIL : Une table chargée en mémoire CAS est par définition volatile (elle disparaît à la fin de la session). L'instruction SAVE de la PROC CASUTIL est donc l'étape de sécurité indispensable pour transformer cette mémoire vive en un fichier physique permanent (souvent au format .sashdat), garantissant que vos données sont prêtes pour une utilisation ultérieure ou par d'autres utilisateurs.
La "Descente" vers SAS 9 (Egress) : Parfois, vous avez besoin de ramener des résultats calculés dans CAS vers une bibliothèque SAS traditionnelle (moteur V9). Le passage d'une SET mycas.table vers une DATA mysas.table effectue ce transfert. Attention cependant : si votre table CAS est gigantesque, ce rapatriement vers le Compute Server peut saturer votre réseau ou votre disque local. C'est une opération à réserver aux résultats agrégés ou aux échantillons.
Mon conseil : Pour des performances optimales lors du chargement de fichiers CSV volumineux vers CAS, privilégiez si possible les Data Connectors (via PROC CASUTIL LOAD). Cependant, la méthode du DATA Step présentée ici reste inégalée pour sa capacité à transformer et nettoyer les données "à la volée" pendant le transfert grâce aux instructions INPUT et IF. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.