Les données source `work.SNBLKDAT` sont créées directement et intégralement dans le script via un `DATA STEP` utilisant des données inline (`cards;`).
1 Bloc de code
MACRO GLOBAL
Explication : Ce bloc définit et initialise une macro globale nommée `bl_internal_stage`. Cette macro est destinée à spécifier le type de 'stage' interne (par exemple, 'user', 'table', ou un 'internal stage' spécifique) à utiliser par Snowflake lors de l'opération de chargement en masse via SAS/ACCESS. L'initialisation vide permet une configuration ultérieure.
Explication : La `PROC DELETE` est utilisée pour supprimer de manière préventive la table `SNBLKTAB` de la bibliothèque `mydblib` (qui représente la connexion à Snowflake). Cela garantit que chaque exécution du script commence avec une ardoise propre, évitant des erreurs dues à l'existence préalable de la table.
Copié !
proc delete data=mydblib.SNBLKTAB; run;
1
PROC DELETEDATA=mydblib.SNBLKTAB; RUN;
3 Bloc de code
DATA STEP Data
Explication : Ce `DATA STEP` crée un dataset SAS temporaire nommé `SNBLKDAT` dans la bibliothèque `work`. Il définit les variables `name`, `age`, `sex`, et `bdate`, puis peuple le dataset avec des données d'exemple directement incluses via l'instruction `cards;`. Ce dataset servira de source pour le chargement en masse vers Snowflake.
Copié !
data work.SNBLKDAT;
input name $ age sex $ bdate mmddyy.;
cards;
amy 3 f 030185
bill 12 m 121277
charlie 35 m 010253
david 19 m 101469
elinor 42 f 080845
pearl 78 f 051222
vera 96 f 101200
frank 24 m 092663
georgia 1 f 040687
henry 46 m 053042
joann 27 f 020461
buddy 66 m 101432
;
run;
1
DATA work.SNBLKDAT;
2
INPUT name $ age sex $ bdate mmddyy.;
3
CARDS;
4
amy 3 f 030185
5
bill 12 m 121277
6
charlie 35 m 010253
7
david 19 m 101469
8
elinor 42 f 080845
9
pearl 78 f 051222
10
vera 96 f 101200
11
frank 24 m 092663
12
georgia 1 f 040687
13
henry 46 m 053042
14
joann 27 f 020461
15
buddy 66 m 101432
16
;
17
RUN;
4 Bloc de code
PROC SQL
Explication : La `PROC SQL` est utilisée ici pour créer une nouvelle table `SNBLKTAB` dans la base de données Snowflake (via la bibliothèque `mydblib`). La clause `BULKLOAD=YES` active la fonctionnalité de chargement en masse de SAS/ACCESS, optimisant le transfert de données. L'option `BL_INTERNAL_STAGE=&bl_internal_stage` permet de spécifier le 'stage' interne de Snowflake en utilisant la macro globale définie précédemment. La table est peuplée par une sélection complète (`select *`) du dataset SAS temporaire `work.SNBLKDAT`.
Copié !
proc sql;
create table mydblib.SNBLKTAB (
BULKLOAD=YES
BL_INTERNAL_STAGE=&bl_internal_stage
) as select * from work.SNBLKDAT;
quit;
1
PROC SQL;
2
create TABLE mydblib.SNBLKTAB (
3
BULKLOAD=YES
4
BL_INTERNAL_STAGE=&bl_internal_stage
5
) as select * from work.SNBLKDAT;
6
QUIT;
5 Bloc de code
PROC PRINT
Explication : Ce bloc utilise `PROC PRINT` pour afficher le contenu de la table `SNBLKTAB` située dans la bibliothèque `mydblib` (la table Snowflake). Le format `date7.` est appliqué à la variable `bdate` pour une meilleure lisibilité. Un titre est également ajouté à la sortie. Cette étape sert à vérifier visuellement que les données ont été correctement chargées dans Snowflake.
Copié !
proc print data=mydblib.SNBLKTAB;
format bdate date7.;
title 'proc print of table';
run;
1
PROC PRINTDATA=mydblib.SNBLKTAB;
2
FORMAT bdate date7.;
3
title 'proc print of table';
4
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.
Informations de Copyright : S A S S A M P L E L I B R A R Y; NAME: bulkload.sas; TITLE: Sample Programs; PRODUCT: SAS/ACCESS to Snowflake
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.