table

addCaslib

L'essentiel
Auf einen Blick
Die Integration externer Datenquellen in die Analyseumgebung beginnt zwingend mit der addCaslib-Aktion, die als zentrale Schnittstelle für das Ressourcenmanagement fungiert. Durch diesen Befehl werden Speicherorte – seien es physische Pfade oder Cloud-Container – dem System bekannt gemacht, indem lediglich die erforderliche Metadaten-Verknüpfung hergestellt wird, ohne bereits Arbeitsspeicher zu belegen. In der folgenden Wissensdatenbank finden Sie detaillierte Antworten zu Konfigurationsdetails und Best Practices, um diese essenzielle Voraussetzung für den späteren Datenzugriff fehlerfrei umzusetzen.

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
activeOnAdd Wenn auf TRUE gesetzt, wird die neue Caslib zur aktiven Caslib für die aktuelle Sitzung.
createDirectory Wenn auf TRUE gesetzt, wird das Caslib-Verzeichnis erstellt, falls es nicht existiert. Dies gilt nur für pfadbasierte Caslibs.
dataSource Gibt 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.
description Gibt eine textuelle Beschreibung für die Caslib an, die zur Dokumentation dient.
hidden Wenn auf TRUE gesetzt, wird die Caslib als versteckt markiert und erscheint nicht in Standard-Caslib-Listen.
name Gibt den Namen der hinzuzufügenden Caslib an. Dies ist ein erforderlicher Parameter.
path Gibt datenquellenspezifische Informationen an. Für die `srcType` 'PATH' und 'DNFS' ist dies der Dateisystempfad zum Verzeichnis.
permission Gibt die Host-Zugriffskontrollen für die Caslib an, wenn die Verzeichniserstellung angefordert wird. Standardmäßig werden die Berechtigungen gemäß der umask des Sitzungsprozesses festgelegt.
session Wenn 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).
subDirectories Wenn auf TRUE gesetzt, sind Tabellen und Dateien in Unterverzeichnissen des in der Caslib-Definition angegebenen Pfads von der Caslib aus zugänglich.
tableRedistUpPolicy Gibt die standardmäßige Tabellen-Umverteilungsrichtlinie für Tabellen unter dieser Caslib an, wenn die Anzahl der Worker-Pods auf einem laufenden CAS-Server zunimmt.
transient Wenn auf TRUE gesetzt, wird die Caslib als transiente Caslib erstellt, was bedeutet, dass sie nicht über Serverneustarts hinweg bestehen bleibt.
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.

Kopiert!
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 Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.addCaslib / name='PathCaslib' path='/tmp/
4data' dataSource={srcType='PATH'} description='Beispiel-Caslib für Pfad';
5 
6RUN;
7 
8QUIT;
9 
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 Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.addCaslib / name='OracleCaslib' dataSource={srcType='oracle', user='meinBenutzer', password='meinPasswort', path='orcl'}
4SESSION=false description='Globale Caslib für Oracle-Datenbank';
5 
6RUN;
7 
8QUIT;
9 
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 Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.addCaslib / name='TempPath' path='/tmp/tempdata' dataSource={srcType='PATH'}
4SESSION=true subDirectories=true description='Temporäre Caslib mit Zugriff auf Unterverzeichnisse';
5 
6RUN;
7 
8QUIT;
9 
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...