Attention : Ce code nécessite des droits administrateur.
Le script commence par établir une connexion LIBNAME à un serveur Hadoop. Il copie ensuite une table SASHELP vers Hadoop. La procédure PROC RANK est exécutée deux fois : une fois en tirant parti du traitement en base de données (comportement par défaut), et une fois en désactivant explicitement cette fonctionnalité pour Hadoop afin de montrer le traitement local. Enfin, les tables créées sont nettoyées.
Analyse des données
Type : MIXTE
Les données initiales sont tirées de la bibliothèque SASHELP (`sashelp.class`), puis copiées vers un système externe (Hadoop) via la LIBNAME 'mycdh'. Une table temporaire (`work.class_rank`) est également créée en interne par SAS.
1 Bloc de code
LIBNAME / DATA STEP Data
Explication : Ce bloc établit une connexion à un serveur Hadoop en créant la LIBNAME 'mycdh' avec les informations de connexion spécifiées. Ensuite, un DATA step est utilisé pour copier la table 'sashelp.class' vers cette nouvelle bibliothèque Hadoop, rendant la table 'mycdh.class' disponible dans le système de fichiers distribué.
Copié !
libname mycdh hadoop server='quickstart.cloudera' user=cloudera password=cloudera schema='default';
data mycdh.class;
set sashelp.class;
run;
Explication : Active les options de traçage SAS ('sastrace') pour afficher la génération de code SQL potentiel. La procédure 'PROC RANK' est ensuite exécutée sur la table 'mycdh.class' (résidant dans Hadoop). Par défaut, SAS tentera d'exécuter cette procédure directement en base de données (in-database) pour optimiser les performances, le classement étant effectué par 'weight' décroissant.
Explication : Modifie les options SAS pour désactiver explicitement la génération de SQL en base de données pour Hadoop ('EXCLUDEDB='HADOOP''). La même procédure 'PROC RANK' est exécutée, mais cette fois, SAS ramènera les données de Hadoop localement pour effectuer le traitement de classement sur le serveur SAS.
Explication : Affiche le contenu de la table 'work.class_rank' qui a été générée par les procédures RANK précédentes. Cela permet de vérifier les résultats des opérations de classement.
Copié !
proc print data=work.class_rank;
run;
1
PROC PRINTDATA=work.class_rank;
2
RUN;
5 Bloc de code
PROC SQL
Explication : Utilise 'PROC SQL' pour supprimer les tables temporaires 'work.class_rank' et 'mycdh.class' créées au cours de l'exécution du script, garantissant ainsi un nettoyage de l'environnement.
Copié !
proc sql;
drop table work.class_rank;
drop table mycdh.class;
quit;
1
PROC SQL;
2
drop TABLE work.class_rank;
3
drop TABLE mycdh.class;
4
QUIT;
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 : Exercise 06 - SAS3880 / An Insider's Guide to SAS/ACCESS to Hadoop / In-Database PROC Example
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.