?> addCaslib - WeAreCAS
table

addCaslib

Beschreibung

Fügt eine neue Caslib hinzu, um den Zugriff auf eine Datenquelle zu ermöglichen. Eine Caslib ist eine In-Memory-Speicherfläche, die Tabellen, Zugriffskontrollen und Datenquelleninformationen enthält. Sie ist ein grundlegendes Konzept in SAS Viya für die Datenverwaltung im Speicher.

table.addCaslib <result=results> <status=rc> / activeOnAdd=TRUE | FALSE, createDirectory=TRUE | FALSE, dataSource={srcType="ADLS" | "BIGQUERY" | "CAS" | "CLOUDDEX" | "DB2" | "DEFAULT" | "DNFS" | "ESP" | "FEDSVR" | "GCS" | "GREENPLUM" | "HADOOP" | "HANA" | "HDFS" | "IMPALA" | "INFORMIX" | "JDBC" | "LASR" | "MONGODB" | "MYSQL" | "NETEZZA" | "ODBC" | "ORACLE" | "PATH" | "POSTGRES" | "REDSHIFT" | "S3" | "SAPIQ" | "SFORCE" | "SINGLESTORE" | "SINGLESTORE_STANDARD" | "SNOWFLAKE" | "SPARK" | "SPDE" | "SQLSERVER" | "TERADATA" | "VERTICA" | "YELLOWBRICK", srcType-specific-parameters}, description="string", hidden=TRUE | FALSE, name="string", path="string", permission="GROUPREAD" | "GROUPWRITE" | "GROUPWRITEPUBLICREAD" | "PRIVATE" | "PUBLICREAD" | "PUBLICWRITE" | integer, session=TRUE | FALSE, subDirectories=TRUE | FALSE, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", transient=TRUE | FALSE;
Einstellungen
ParameterBeschreibung
activeOnAddWenn auf TRUE gesetzt, wird die neue Caslib zur aktiven Caslib für die aktuelle Sitzung.
createDirectoryWenn auf TRUE gesetzt, wird das Caslib-Verzeichnis erstellt, falls es nicht existiert. Dies gilt nur für pfadbasierte Caslibs.
dataSourceGibt die Datenquelle an. Der Parameter `srcType` definiert den Typ der Datenquelle (z.B. 'PATH' für ein Dateisystem, 'ORACLE' für eine Oracle-Datenbank) und wird von zusätzlichen, für den Typ spezifischen Parametern begleitet.
descriptionGibt eine textuelle Beschreibung für die Caslib an, die zur Dokumentation dient.
hiddenWenn auf TRUE gesetzt, wird die Caslib als versteckt markiert und erscheint nicht in Standard-Caslib-Listen.
nameGibt den Namen der hinzuzufügenden Caslib an. Dies ist ein erforderlicher Parameter.
pathGibt datenquellenspezifische Informationen an. Für die `srcType` 'PATH' und 'DNFS' ist dies der Dateisystempfad zum Verzeichnis.
permissionGibt die Host-Zugriffskontrollen für die Caslib an, wenn die Verzeichniserstellung angefordert wird. Standardmäßig werden die Berechtigungen gemäß der umask des Sitzungsprozesses festgelegt.
sessionWenn auf TRUE gesetzt, ist die Caslib nur für die aktuelle Sitzung gültig. Wenn auf FALSE gesetzt, ist sie eine globale Caslib, die für andere Sitzungen sichtbar ist (vorbehaltlich der Zugriffskontrollen).
subDirectoriesWenn auf TRUE gesetzt, sind Tabellen und Dateien in Unterverzeichnissen des in der Caslib-Definition angegebenen Pfads von der Caslib aus zugänglich.
tableRedistUpPolicyGibt die standardmäßige Tabellen-Umverteilungsrichtlinie für Tabellen unter dieser Caslib an, wenn die Anzahl der Worker-Pods auf einem laufenden CAS-Server zunimmt.
transientWenn auf TRUE gesetzt, wird die Caslib als transiente Caslib erstellt, was bedeutet, dass sie nicht über Serverneustarts hinweg bestehen bleibt.
Datenaufbereitung
Erstellung von Beispieldaten

Der folgende SAS-Code erstellt eine CSV-Datei im temporären Verzeichnis `/tmp`. Diese Datei kann dann als Grundlage für eine pfadbasierte Caslib verwendet werden, um das Laden von Daten aus dem Dateisystem zu demonstrieren.

1DATA _null_;
2 SET sashelp.cars;
3 file '/tmp/cars.csv' dsd dlm=',';
4 IF _n_ = 1 THEN DO;
5 declare char(32) _all_vars_;
6 rc = dopen('ind');
7 DO i = 1 to dnum(rc);
8 _all_vars_ = cats(_all_vars_, ',', dread(rc, i));
9 END;
10 put _all_vars_;
11 END;
12 put (_all_)(~);
13RUN;

Beispiele

Dieses Beispiel zeigt, wie eine einfache pfadbasierte Caslib hinzugefügt wird, die auf ein Verzeichnis im Dateisystem verweist. Dies ist die häufigste Verwendung, um auf flache Dateien wie CSVs oder SASHDAT-Dateien zuzugreifen.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.addCaslib / name='PathCaslib' path='/tmp/data' dataSource={srcType='PATH'} description='Beispiel-Caslib für Pfad'; RUN; QUIT;
Ergebnis :
Eine neue Caslib mit dem Namen 'PathCaslib' wird erstellt, die auf das Verzeichnis /tmp/data auf dem CAS-Server verweist. Alle unterstützten Dateien in diesem Verzeichnis sind nun für die Analyse in CAS verfügbar.

Dieses Beispiel zeigt, wie eine Caslib für die Verbindung zu einer Oracle-Datenbank hinzugefügt wird. Es gibt die erforderlichen Verbindungsparameter wie Benutzer, Passwort und Pfad (Oracle-Servername) an. Die Caslib wird als globale, nicht sitzungsgebundene Caslib erstellt, die über Sitzungen hinweg bestehen bleibt.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.addCaslib / name='OracleCaslib' dataSource={srcType='oracle', user='meinBenutzer', password='meinPasswort', path='orcl'} SESSION=false description='Globale Caslib für Oracle-Datenbank'; RUN; QUIT;
Ergebnis :
Eine neue globale Caslib mit dem Namen 'OracleCaslib' wird erstellt, die eine Verbindung zur angegebenen Oracle-Datenbank herstellt. Tabellen aus dieser Oracle-Datenbank können nun in CAS geladen und analysiert werden.

Dieses Beispiel erstellt eine sitzungsbasierte Caslib, die nur für die Dauer der aktuellen CAS-Sitzung existiert. Die Option `subDirectories=true` ermöglicht den Zugriff auf Dateien in den Unterverzeichnissen des angegebenen Pfads.

SAS® / CAS-Code
Kopiert!
1PROC CAS; TABLE.addCaslib / name='TempPath' path='/tmp/tempdata' dataSource={srcType='PATH'} SESSION=true subDirectories=true description='Temporäre Caslib mit Zugriff auf Unterverzeichnisse'; RUN; QUIT;
Ergebnis :
Eine temporäre, sitzungsbasierte Caslib mit dem Namen 'TempPath' wird erstellt. Sie verweist auf `/tmp/tempdata` und erlaubt das Laden von Daten aus diesem Verzeichnis und allen seinen Unterverzeichnissen.

FAQ

Was ist die `addCaslib`-Aktion?
Was ist eine wichtige Überlegung bei der Verwendung von `addCaslib`?
Was bewirkt der `dataSource`-Parameter?
Was ist der Zweck des `session`-Parameters?
Wie kann ich eine Caslib nur für die aktuelle Sitzung erstellen?

Zugehörige Szenarien

Anwendungsfall
Einrichtung einer sitzungsbasierten Caslib für die Analyse von Marketingkampagnen

Eine Marketingabteilung muss schnell Kundendaten aus einer kürzlich durchgeführten Kampagne analysieren. Die Daten werden als CSV-Datei in ein temporäres Verzeichnis geliefert. ...

Anwendungsfall
Verwaltung großer Datenmengen aus IoT-Sensoren mit einer globalen Caslib und Unterverzeichnissen

Ein Fertigungsunternehmen sammelt riesige Mengen an Sensordaten von seinen Produktionslinien. Die Daten werden täglich in Unterverzeichnissen organisiert (z.B. `/tmp/iot_data/20...

Anwendungsfall
Test der Robustheit der Caslib-Erstellung mit ungültigen Pfaden

Ein IT-Administrator richtet eine neue Datenquelle ein und gibt versehentlich einen nicht existierenden Pfad an. Das Systemverhalten muss vorhersehbar sein. Gemäß der FAQ schläg...