Publié le :
Moteurs SAS CREATION_INTERNE

Utilisation d'un moteur SAS pour traiter les données SAS

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce guide explique comment configurer et utiliser divers moteurs SAS© via l'instruction LIBNAME pour interagir avec différents types de données et environnements. Il aborde l'affectation du moteur V9 par défaut, l'utilisation du moteur SPD pour les performances, l'intégration avec Hadoop, la prévention de la troncature des caractères avec le moteur CVP lors des changements d'encodage, et le chargement de données vers un serveur CAS pour l'analyse en mémoire. Chaque exemple est conçu pour être autonome et illustre des concepts clés pour une programmation SAS© efficace sur la plateforme SAS© Viya 4.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (DATA STEP à partir de SASHELP.CLASS ou SASHELP.CARS) ou des affectations de bibliothèques qui supposent la disponibilité de données SAS standard (SASHELP) ou d'environnements spécifiques (Hadoop, CAS) avec leurs propres données.

1 Bloc de code
LIBNAME / DATA STEP Data
Explication :
Cette instruction LIBNAME affecte le libref 'myfiles' et le moteur V9 à un emplacement de bibliothèque. Remplacez 'library-path' par le chemin de votre bibliothèque. L'emplacement doit exister et être accessible par le serveur de calcul SAS. L'étape DATA crée l'ensemble de données 'myclass' dans la bibliothèque 'myfiles' en copiant l'ensemble de données 'class' de la bibliothèque 'sashelp'.
Copié !
1LIBNAME myfiles v9 'library-path';
2DATA myfiles.myclass;
3 SET sashelp.class;
4RUN;
2 Bloc de code
LIBNAME
Explication :
Cette instruction LIBNAME affecte le libref 'mylib' et le moteur SPD à un chemin principal. Le fichier de métadonnées est stocké dans ce chemin principal. L'option DATAPATH= permet d'affecter un ou plusieurs chemins pour stocker les partitions de données. L'option INDEXPATH= permet d'affecter un ou plusieurs chemins pour stocker les fichiers d'index.
Copié !
1LIBNAME mylib spde 'library-path'
2datapath=('path-for-
3data-partitions')
4indexpath=('path-for-indexes');
5 
3 Bloc de code
OPTIONS / LIBNAME
Explication :
Les options SET= définissent les variables d'environnement pour Hadoop. L'instruction LIBNAME affecte le libref 'mydata' au moteur SPD et à un répertoire dans le cluster Hadoop. L'argument HDFS=YES spécifie la connexion au cluster Hadoop. L'option ACCELWHERE=YES demande que le sous-ensemble de données soit effectué par un programme MapReduce dans le cluster Hadoop.
Copié !
1options SET=SAS_HADOOP_CONFIG_PATH='/myconfigpath';
2options SET=SAS_HADOOP_JAR_PATH='/myjarpath';
3 
4LIBNAME mydata spde '/data/abcdef' hdfs=yes accelwhere=yes;
4 Bloc de code
LIBNAME / PROC COPY / PROC CONTENTS Data
Explication :
La première instruction LIBNAME affecte la bibliothèque 'srclib' au moteur CVP et à l'emplacement des données à copier. L'option CVPENGINE= spécifie le moteur V9 comme moteur sous-jacent. L'option CVPMULT=2.5 multiplie la taille de toutes les variables caractères par 2.5. La deuxième instruction LIBNAME affecte la bibliothèque 'target'. La procédure COPY copie l'ensemble de données 'myclass' dans la bibliothèque 'target', en étendant les longueurs des variables caractères. La procédure CONTENTS affiche les nouvelles longueurs des variables caractères.
Copié !
1LIBNAME srclib cvp 'library-path-1' cvpengine=v9 cvpmult=2.5;
2LIBNAME target v9 'library-path-2';
3PROC COPY in=srclib out=target;
4 select myclass;
5RUN;
6 
7PROC CONTENTS DATA=target.myclass;
8RUN;
5 Bloc de code
CAS / LIBNAME / DATA STEP / PROC CONTENTS Data
Explication :
L'instruction CAS démarre une session CAS et spécifie 'casauto' comme nom de session CAS. L'instruction LIBNAME affecte le libref 'mycas' au moteur CAS, en utilisant la session 'casauto'. L'étape DATA copie l'ensemble de données SAS 'sashelp.cars' vers la session CAS. L'option d'ensemble de données PROMOTE=YES promeut la table avec une portée globale. La procédure CONTENTS montre que la table 'mycas.cars' est disponible sur le serveur CAS.
Copié !
1cas casauto host="cloud.example.com" port=5570;
2 
3LIBNAME mycas cas;
4DATA mycas.cars (promote=yes);
5 SET sashelp.cars;
6RUN;
7PROC CONTENTS DATA=mycas.cars;
8RUN;
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 © SAS Institute Inc. All Rights Reserved


Documentation liée : Moteurs SAS

Sujet / Mot-cléLien vers la ressource
DOC Caractéristiques des moteurs SAS fr/sampleCode/CARACT3EAD
Banner
Le Conseil de l'Expert
Expert
Michael
Responsable de l'infrastructure Viya.
« Ne restez pas sur le moteur V9 par défaut si vous manipulez des tables de plusieurs gigaoctets. Si vous travaillez sur site, passez au moteur SPD pour gagner en vitesse d'E/S. Si vous êtes sur le Cloud, utilisez le moteur CAS pour bénéficier de la parallélisation massive sur tous les nœuds de votre cluster. »