Le programme commence par supprimer une table existante nommée 'dpart' de la bibliothèque 'mydblib' pour assurer un environnement propre. Ensuite, il crée une nouvelle table 'dpart' dans 'mydblib' en utilisant un DATA STEP avec des données intégrées via l'instruction DATALINES. La table est spécifiée comme étant partitionnée par la colonne 'dates' avec un format de fichier 'sequencefile'. Enfin, une PROC SQL est utilisée pour interroger la table partitionnée, en filtrant les enregistrements pour une date spécifique, démontrant ainsi l'accès aux données partitionnées.
Analyse des données
Type : CREATION_INTERNE
Les données utilisées pour créer la table 'dpart' sont intégrées directement dans le script SAS via l'instruction DATALINES. Il n'y a pas de dépendance à des fichiers externes ou à des tables SAS préexistantes, à l'exception de la cible 'mydblib' qui est une bibliothèque externe potentiellement liée à Hadoop.
1 Bloc de code
PROC DELETE
Explication : Ce bloc de code utilise la PROC DELETE pour supprimer la table 'dpart' de la bibliothèque 'mydblib'. Cela permet de nettoyer l'environnement avant de recréer la table, évitant ainsi les erreurs dues à l'existence préalable de la table. 'mydblib' est supposée être une bibliothèque SAS/ACCESS connectée à une source de données externe.
Copié !
proc delete data=mydblib.dpart; run;
1
PROC DELETEDATA=mydblib.dpart; RUN;
2 Bloc de code
DATA STEP Data
Explication : Ce DATA STEP est responsable de la création de la table 'dpart' et de son chargement avec les données spécifiées. L'option `post_table_opts` est cruciale ici : elle est passée à la base de données externe (comme Hadoop) pour indiquer que la table doit être créée avec un partitionnement par la colonne 'dates' et stockée au format 'sequencefile'. Les instructions `input`, `informat`, `format` définissent la structure des colonnes et leurs formats, tandis que `datalines` fournit les valeurs des enregistrements.
Copié !
data mydblib.dpart (post_table_opts ="partitioned by (dates date)\n stored as sequencefile") ;
input FLIGHT $3. +5 DATES date7. +2 ORIG $3. +3 DEST $3. +3
DELAYCAT $15. +2 DESTYPE $15. +8 DELAY;
informat DATES date7.;
format DATES date9.;
datalines;
114 01MAR98 LGA LAX 1-10 Minutes Domestic 8
202 01MAR98 LGA ORD No Delay Domestic -5
219 01MAR98 LGA LON 11+ Minutes International 18
114 02MAR98 LGA LAX No Delay Domestic 0
202 02MAR98 LGA ORD 1-10 Minutes Domestic 5
219 02MAR98 LGA LON 11+ Minutes International 18
622 02MAR98 LGA FRA No Delay International 0
114 03MAR98 LGA LAX No Delay Domestic -1
202 03MAR98 LGA ORD No Delay Domestic -1
219 03MAR98 LGA LON 1-10 Minutes International 4
302 03MAR98 LGA WAS 1-10 Minutes Domestic 5
;
1
DATA mydblib.dpart (post_table_opts ="partitioned by (dates date)
Explication : Ce bloc utilise PROC SQL pour interroger la table 'dpart' qui vient d'être créée. La clause `WHERE dates = '01mar99'd` démontre comment filtrer les données en utilisant la colonne partitionnée 'dates'. Le `d` après la date indique une constante de date SAS. L'objectif est de montrer que seules les données correspondant à cette partition sont récupérées, résultant en '3 rows' comme indiqué dans le titre.
Copié !
title 'SHOULD SEE ONLY 3 ROWS';
proc sql;
select flight from mydblib.dpart where dates = '01mar98'd;
quit;
1
title 'SHOULD SEE ONLY 3 ROWS';
2
PROC SQL;
3
select flight from mydblib.dpart where dates = '01mar98'd;
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 : S A S S A M P L E L I B R A R Y
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.