Attention : Dieser Code erfordert Administratorrechte.
Das Skript beginnt mit dem Aufbau einer LIBNAME-Verbindung zu einem Hadoop-Server. Anschließend wird eine SASHELP-Tabelle nach Hadoop kopiert. Die PROC RANK-Prozedur wird zweimal ausgeführt: einmal unter Nutzung der In-Database-Verarbeitung (Standardverhalten) und einmal unter expliziter Deaktivierung dieser Funktionalität für Hadoop, um die lokale Verarbeitung zu demonstrieren. Abschließend werden die erstellten Tabellen bereinigt.
Datenanalyse
Type : MIXTE
Die Ausgangsdaten stammen aus der SASHELP-Bibliothek (`sashelp.class`) und werden dann über die LIBNAME 'mycdh' in ein externes System (Hadoop) kopiert. Eine temporäre Tabelle (`work.class_rank`) wird auch intern von SAS erstellt.
1 Codeblock
LIBNAME / DATA STEP Data
Erklärung : Dieser Block stellt eine Verbindung zu einem Hadoop-Server her, indem die LIBNAME 'mycdh' mit den angegebenen Verbindungsinformationen erstellt wird. Anschließend wird ein DATA-Schritt verwendet, um die Tabelle 'sashelp.class' in diese neue Hadoop-Bibliothek zu kopieren, wodurch die Tabelle 'mycdh.class' im verteilten Dateisystem verfügbar gemacht wird.
Kopiert!
libname mycdh hadoop server='quickstart.cloudera' user=cloudera password=cloudera schema='default';
data mycdh.class;
set sashelp.class;
run;
Erklärung : Aktiviert SAS-Tracing-Optionen ('sastrace'), um die potenzielle SQL-Code-Generierung anzuzeigen. Die Prozedur 'PROC RANK' wird dann auf der Tabelle 'mycdh.class' (die sich in Hadoop befindet) ausgeführt. Standardmäßig versucht SAS, diese Prozedur direkt in der Datenbank auszuführen, um die Leistung zu optimieren, wobei die Rangfolge nach abnehmendem 'weight' erfolgt.
Erklärung : Ändert die SAS-Optionen, um die In-Database-SQL-Generierung für Hadoop explizit zu deaktivieren ('EXCLUDEDB='HADOOP''). Dieselbe 'PROC RANK'-Prozedur wird ausgeführt, aber dieses Mal holt SAS die Daten lokal von Hadoop, um die Rangverarbeitung auf dem SAS-Server durchzuführen.
Erklärung : Zeigt den Inhalt der Tabelle 'work.class_rank' an, die durch die vorherigen RANK-Prozeduren generiert wurde. Dies ermöglicht die Überprüfung der Ergebnisse der Rangfolgeoperation.
Kopiert!
proc print data=work.class_rank;
run;
1
PROC PRINTDATA=work.class_rank;
2
RUN;
5 Codeblock
PROC SQL
Erklärung : Verwendet 'PROC SQL' zum Löschen der temporären Tabellen 'work.class_rank' und 'mycdh.class', die während der Skriptausführung erstellt wurden, um so eine Bereinigung der Umgebung zu gewährleisten.
Kopiert!
proc sql;
drop table work.class_rank;
drop table mycdh.class;
quit;
1
PROC SQL;
2
drop TABLE work.class_rank;
3
drop TABLE mycdh.class;
4
QUIT;
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 : Übung 06 - SAS3880 / Ein Insider-Leitfaden zu SAS/ACCESS für Hadoop / In-Database PROC Beispiel
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.