Veröffentlicht am :
ETL MIXTE

Erforschung der BULKLOAD-Option mit SAS/ACCESS to Hadoop

Wartet auf Validierung
ATTENTION : Ce contenu est DÉSACTIVÉ. Il est invisible pour les visiteurs.
Attention : Dieser Code erfordert Administratorrechte.
Das Skript veranschaulicht die Verwendung von `PROC APPEND` mit der `SAS©/ACCESS to Hadoop`-Schnittstelle. Es werden drei separate Tests durchgeführt. Der erste verwendet `BULKLOAD=YES` für ein schnelles Laden der Tabelle `sashelp.cars`. Der zweite führt denselben Vorgang ohne `BULKLOAD` zum Vergleich durch. Der dritte Test zeigt, wie Daten geladen werden können, während ein zugrunde liegendes Speicherformat, hier `Parquet`, in Hadoop angegeben wird. Jeder Test wird von einem Bereinigungsschritt mittels `PROC SQL` gefolgt, um die erstellte Tabelle zu löschen, wodurch das Skript erneut ausgeführt werden kann.
Datenanalyse

Type : MIXTE


Die Datenquelle ist die Tabelle `sashelp.cars`, eine interne SAS-Beispieltabelle. Das Ziel ist eine externe Hadoop-Datenbank, die über ein `libname` verbunden ist. Das Skript liest keine externen Daten, sondern schreibt in diese.

1 Codeblock
LIBNAME
Erklärung :
Definiert eine Verbindung zu einem Hadoop-Server über die SAS/ACCESS to Hadoop-Schnittstelle. Es aktiviert auch Tracing-Optionen (`sastrace`), um detaillierte Informationen über die Interaktion mit der Datenbank im SAS-Protokoll aufzuzeichnen.
Kopiert!
1LIBNAME mycdh hadoop server="quickstart.cloudera" user=cloudera password=cloudera;
2options sastrace=',,,d' sastraceloc=saslog nostsuffix;
3 
2 Codeblock
PROC APPEND Data
Erklärung :
Dieser Block lädt die Daten aus der Tabelle `sashelp.cars` in eine neue Tabelle `cars` auf dem Hadoop-Server. Die Option `bulkload=yes` aktiviert den Massenlademodus, der für die Übertragung großer Datenmengen optimiert ist. Die Tabelle wird anschließend mit `PROC SQL` gelöscht, um die Umgebung zu bereinigen.
Kopiert!
1PROC APPEND base=mycdh.cars (bulkload=yes)
2 DATA=sashelp.cars;
3RUN;
4 
5PROC SQL;
6 drop TABLE mycdh.cars;
7QUIT;
3 Codeblock
PROC APPEND Data
Erklärung :
Dieser Block führt denselben Ladevorgang wie der vorherige durch, jedoch ohne die Option `bulkload=yes`. Dies ermöglicht einen Vergleich der Leistungsunterschiede zwischen einem Standardladen (potenziell zeilenweise) und einem Massenladen. Die Tabelle wird anschließend gelöscht.
Kopiert!
1PROC APPEND base=mycdh.cars
2 DATA=sashelp.cars;
3RUN;
4 
5PROC SQL;
6 drop TABLE mycdh.cars;
7QUIT;
4 Codeblock
PROC APPEND Data
Erklärung :
Dieser Block lädt die Daten erneut, verwendet jedoch die Option `dbcreate_table_opts`, um eine spezifische Anweisung an Hadoop beim Erstellen der Tabelle zu übergeben. Hier wird angefordert, dass die Tabelle im 'Parquet'-Dateiformat gespeichert wird, einem sehr leistungsstarken Spaltenspeicherformat. Die Tabelle wird schließlich gelöscht.
Kopiert!
1PROC APPEND base=mycdh.cars (dbcreate_table_opts='stored as parquetfile')
2 DATA=sashelp.cars;
3RUN;
4 
5PROC SQL;
6 drop TABLE mycdh.cars;
7QUIT;
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.