Publié le :
ETL CREATION_INTERNE

Chargement en Masse de Données

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce programme utilise des macros globales pour configurer les options de chargement en masse (fichier de données, hôte, port). Avant le chargement, il effectue un nettoyage en supprimant les tables cibles existantes. Une table de données SAS© temporaire est ensuite créée en mémoire à partir de données en ligne. Enfin, il présente deux approches pour le chargement en masse : la première via une instruction `CREATE TABLE AS SELECT` de PROC SQL avec des options BULKLOAD, et la seconde via une étape DATA STEP où les options BULKLOAD sont spécifiées directement sur l'instruction DATA. Les options de chargement en masse sont paramétrées par des variables macro.
Analyse des données

Type : CREATION_INTERNE


La source de données `work.testblkld` est créée directement dans le script via une étape DATA et l'instruction `cards;` avec des données en ligne (amy, bill, etc.). Aucune donnée externe non gérée n'est requise.

1 Bloc de code
Macro Définition
Explication :
Ce bloc déclare et initialise des macros globales (`BLDATF`, `BLHOST`, `BLPORT`) qui seront utilisées ultérieurement pour spécifier les paramètres de l'opération de chargement en masse, tels que le fichier de données, l'hôte et le port cible.
Copié !
1 %GLOBAL BLDATF;
2 %GLOBAL BLHOST;
3 %GLOBAL BLPORT;
4 
5 %let BLDATF =;
6 %let BLHOST =;
7 %let BLPORT =;
2 Bloc de code
OPTIONS Statement
Explication :
Définit une option système SAS (`SAS_HADOOP_RESTFUL`) à 1. Cette option est probablement liée à la configuration d'une connexion RESTful avec un environnement Hadoop, ce qui est courant avec SAS/ACCESS pour certains systèmes de gestion de bases de données.
Copié !
1options SET=SAS_HADOOP_RESTFUL=1;
3 Bloc de code
PROC DELETE
Explication :
Ces appels à PROC DELETE sont utilisés pour supprimer les tables `testblkld1` et `testblkld2` de la bibliothèque `mydblib` si elles existent. Cela assure un environnement propre et évite les erreurs potentielles lors de la recréation de ces tables.
Copié !
1 
2PROC DELETE
3DATA=mydblib.testblkld1;
4 
5RUN;
6PROC DELETE
7DATA=mydblib.testblkld2;
8 
9RUN;
10 
4 Bloc de code
DATA STEP Data
Explication :
Cette étape DATA crée une table SAS temporaire nommée `testblkld` dans la bibliothèque `WORK`. Les données sont lues en ligne à l'aide de l'instruction `cards;`, définissant les variables `name`, `age`, `sex` et `bdate` avec le format de date `mmddyy.`.
Copié !
1DATA work.testblkld;
2 INPUT name $ age sex $ bdate mmddyy.;
3 CARDS;
4amy 3 f 030185
5bill 12 m 121277
6charlie 35 m 010253
7david 19 m 101469
8elinor 42 f 080845
9pearl 78 f 051222
10vera 96 f 101200
11frank 24 m 092663
12georgia 1 f 040687
13henry 46 m 053042
14joann 27 f 020461
15buddy 66 m 101432
16;
17RUN;
5 Bloc de code
PROC SQL
Explication :
Ce bloc utilise PROC SQL pour créer une nouvelle table `testblkld1` dans la bibliothèque `mydblib`. Les options `BULKLOAD=YES`, `BL_DATAFILE`, `BL_HOST` et `BL_PORT` sont spécifiées pour activer et configurer le chargement en masse, permettant un transfert de données optimisé depuis la table `work.testblkld`.
Copié !
1PROC SQL;
2create TABLE mydblib.testblkld1
3 (BULKLOAD=YES
4 BL_DATAFILE=&bldatf
5 BL_HOST=&blhost
6 BL_PORT=&blport )
7 as select * from work.testblkld;
8QUIT;
6 Bloc de code
DATA STEP
Explication :
Ce bloc utilise une étape DATA pour créer une table `testblkld2` dans la bibliothèque `mydblib`. Comme avec PROC SQL, les options `BULKLOAD=YES`, `BL_DATAFILE`, `BL_HOST` et `BL_PORT` sont incluses dans l'instruction DATA pour exécuter un chargement en masse des données de `work.testblkld`.
Copié !
1DATA mydblib.testblkld2 (
2 BULKLOAD=YES
3 BL_DATAFILE=&bldatf
4 BL_HOST=&blhost
5 BL_PORT=&blport );
6 
7 
8SET work.testblkld;
9RUN;
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