Die Quelldaten `work.SNBLKDAT` werden direkt und vollständig im Skript über einen `DATA STEP` mit Inline-Daten (`cards;`) erstellt.
1 Codeblock
GLOBALES MAKRO
Erklärung : Dieser Block definiert und initialisiert ein globales Makro namens `bl_internal_stage`. Dieses Makro dient dazu, den Typ des internen 'stage' (z.B. 'user', 'table' oder ein spezifischer 'internal stage') anzugeben, der von Snowflake während des Massenladevorgangs über SAS/ACCESS verwendet werden soll. Die leere Initialisierung ermöglicht eine spätere Konfiguration.
Erklärung : `PROC DELETE` wird verwendet, um die Tabelle `SNBLKTAB` aus der Bibliothek `mydblib` (welche die Verbindung zu Snowflake darstellt) präventiv zu löschen. Dies stellt sicher, dass jede Ausführung des Skripts mit einer sauberen Basis beginnt und Fehler aufgrund einer bereits existierenden Tabelle vermieden werden.
Kopiert!
proc delete data=mydblib.SNBLKTAB; run;
1
PROC DELETEDATA=mydblib.SNBLKTAB; RUN;
3 Codeblock
DATA STEP Data
Erklärung : Dieser `DATA STEP` erstellt ein temporäres SAS-Dataset namens `SNBLKDAT` in der Bibliothek `work`. Er definiert die Variablen `name`, `age`, `sex` und `bdate` und füllt das Dataset anschließend mit Beispieldaten, die direkt über die `cards;`-Anweisung eingefügt werden. Dieses Dataset dient als Quelle für das Massenladen nach Snowflake.
Kopiert!
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 Codeblock
PROC SQL
Erklärung : Die `PROC SQL` wird hier verwendet, um eine neue Tabelle `SNBLKTAB` in der Snowflake-Datenbank (über die Bibliothek `mydblib`) zu erstellen. Die Klausel `BULKLOAD=YES` aktiviert die Massenlader-Funktion von SAS/ACCESS und optimiert so die Datenübertragung. Die Option `BL_INTERNAL_STAGE=&bl_internal_stage` ermöglicht die Angabe des internen 'stage' von Snowflake unter Verwendung des zuvor definierten globalen Makros. Die Tabelle wird durch eine vollständige Auswahl (`select *`) des temporären SAS-Datasets `work.SNBLKDAT` gefüllt.
Kopiert!
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 Codeblock
PROC PRINT
Erklärung : Dieser Block verwendet `PROC PRINT`, um den Inhalt der Tabelle `SNBLKTAB` in der Bibliothek `mydblib` (die Snowflake-Tabelle) anzuzeigen. Das Format `date7.` wird auf die Variable `bdate` angewendet, um die Lesbarkeit zu verbessern. Ein Titel wird ebenfalls zur Ausgabe hinzugefügt. Dieser Schritt dient der visuellen Überprüfung, ob die Daten korrekt in Snowflake geladen wurden.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : 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 und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.