Veröffentlicht am :
ETL CREATION_INTERNE

Beispiele: Verwendung einer SAS Engine zur Verarbeitung von SAS-Daten

Dieser Code ist auch verfügbar auf: English Español
Wartet auf Validierung
Detaillierte Funktionsanalyse, die die Schlüsselkonzepte jeder SAS©-Engine und ihre Anwendung erklärt. Die V9-Engine ist die Standard-SAS©-Basis-Engine, die SPD-Engine ist für große Tabellen und verteilte Umgebungen (wie Hadoop) optimiert, die CVP-Engine vermeidet die Trunkierung von Zeichenvariablen während der Transkodierung, und die CAS-Engine ermöglicht das Laden und Verarbeiten von Daten im Speicher auf einem Cloud Analytic Services-Server.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP.

1 Codeblock
DATA STEP Data
Erklärung :
Die LIBNAME-Anweisung weist den Libref myfiles und die V9-Engine einem Bibliothekspfad zu. Ersetzen Sie 'library-path' durch den Speicherort Ihrer Bibliothek. Der Speicherort muss existieren und für den SAS-Rechenserver zugänglich sein. Der DATA-Schritt erstellt das Dataset myclass in der Bibliothek myfiles, indem das Dataset class aus der Bibliothek sashelp kopiert wird.
Kopiert!
1LIBNAME myfiles v9 'library-path';
2DATA myfiles.myclass;
3 SET sashelp.class;
4RUN;
2 Codeblock
LIBNAME
Erklärung :
Dieser Teil der LIBNAME-Anweisung weist den Libref mylib und die SPD-Engine einem Hauptpfadnamen zu. Die erste (und normalerweise einzige) Metadatendatei für ein Dataset wird immer im Hauptpfad der Bibliothek gespeichert. Optional können Sie einen oder mehrere Pfadnamen in der Option DATAPATH= angeben, um Datenpartitionen zu speichern. Andernfalls werden die Datenpartitionierungsdateien im Hauptpfad gespeichert. Optional können Sie einen oder mehrere Pfadnamen in der Option INDEXPATH= angeben, um Indexdateien zu speichern. Andernfalls werden die Indexdateien im Hauptpfad gespeichert.
Kopiert!
1LIBNAME mylib spde 'library-path'
2datapath=('path-for-
3data-partitions')
4indexpath=('path-for-indexes');
5 
3 Codeblock
LIBNAME
Erklärung :
Die Systemoption SET= definiert die Umgebungsvariablen für Hadoop. Wenn diese Umgebungsvariablen bereits definiert sind (z. B. während der Konfiguration), senden Sie diese Codezeilen nicht. Wenn diese Umgebungsvariablen nicht korrekt definiert sind, führt die LIBNAME-Anweisung zu Fehlern im SAS-Protokoll. Die LIBNAME-Anweisung weist den Libref mydata der SPD-Engine und einem Verzeichnis im Hadoop-Cluster zu. Das Argument HDFS=YES gibt die Verbindung zum im Hadoop-Cluster definierten Cluster an. Die Option ACCELWHERE=YES bewirkt, dass die Untermenge der Daten von einem MapReduce-Programm im Hadoop-Cluster durchgeführt wird.
Kopiert!
1options SET=SAS_HADOOP_CONFIG_PATH='/myconfigpath';
2options SET=SAS_HADOOP_JAR_PATH='/myjarpath';
3 
4LIBNAME mydata spde '/data/abcdef' hdfs=yes accelwhere=yes;
4 Codeblock
PROC COPY
Erklärung :
Diese LIBNAME-Anweisung weist die Bibliothek srclib der CVP-Engine und dem Speicherort der Daten zu, die Sie kopieren möchten. Die Option CVPENGINE= gibt die V9-Engine als zugrunde liegende Engine für die Verarbeitung der Daten an. Die Option CVPMULT= gibt einen Multiplikationsfaktor von 2.5 an, um alle Zeichenvariablen zu erweitern. Wenn diese Option nicht angegeben wird, wählt die CVP-Engine automatisch einen Multiplikatorwert. Diese LIBNAME-Anweisung weist die Zielbibliothek zu, um die kopierten Daten zu enthalten. Die PROC COPY-Prozedur mit der SELECT-Anweisung kopiert das Dataset myclass in die Zielbibliothek. Während des Kopiervorgangs erweitert die CVP-Engine die Längen der Zeichenvariablen um das 2.5-fache. Die PROC CONTENTS-Prozedur zeigt, dass die Längen der Zeichenvariablen um 2.5 multipliziert wurden: Für 'Name', 8 × 2.5 = 20. Für 'Sex', 1 × 2.5 = 2.5, was auf 3 gerundet wird.
Kopiert!
1LIBNAME srclib cvp 'library-path-1' cvpengine=v9 cvpmult=2.5;
2LIBNAME target v9 'library-path-2';
3PROC COPY in=srclib out=target;
4 select myclass;
5RUN;
6 
7PROC CONTENTS DATA=target.myclass;
8RUN;
5 Codeblock
DATA STEP / PROC CONTENTS Data
Erklärung :
Die CAS-Anweisung startet eine CAS-Sitzung und gibt casauto als Namen der CAS-Sitzung an. Verwenden Sie Ihre Anmeldeinformationen in den Optionen HOST= und PORT=. Die LIBNAME-Anweisung weist den Libref mycas der CAS-Engine zu. Die Option LIBNAME SESSREF= ist nicht angegeben, daher verwendet die Engine die casauto-Sitzung. Der DATA-Schritt kopiert das SAS-Dataset sashelp.cars in die CAS-Sitzung. Die Dataset-Option PROMOTE=YES fördert die Tabelle mit globaler Reichweite. Die PROC CONTENTS-Prozedur zeigt, dass die Tabelle mycas.cars für die Dauer der Sitzung auf dem CAS-Server verfügbar ist. Sobald die Daten in den Speicher geladen sind, können nachfolgende Schritte die Daten im Speicher verarbeiten. Das Laden und Verarbeiten erfolgen in getrennten Schritten.
Kopiert!
1cas casauto host="cloud.example.com" port=5570;
2 
3LIBNAME mycas cas;
4DATA mycas.cars (promote=yes);
5 SET sashelp.cars;
6RUN;
7PROC CONTENTS DATA=mycas.cars;
8RUN;
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 : Copyright © SAS Institute Inc. All Rights Reserved