Accès aux données CAS

Microsoft SQL Server-Datenkonnektor

ATTENTION : Ce contenu est DÉSACTIVÉ. Il est invisible pour les visiteurs.
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Dieser Datenkonnektor erleichtert die Integration von Microsoft SQL Server-Datenbanken, einschließlich Azure Synapse Analytics und Microsoft Fabric, mit SAS© Cloud Analytic Services. Er ermöglicht das Lesen und Schreiben von Daten sowie die Authentifizierung von Verbindungen über Microsoft Entra ID (ehemals Azure Active Directory) mit Single Sign-On oder anderen Methoden (Client-ID/Secret, Gerätecode). Die Konnektoroptionen ermöglichen die Konfiguration der Datenquelle, der Anmeldeinformationen, der Parameter für das Massenladen (Bulk Loading) nach ADLS2 und die Verwaltung temporärer Dateien.
Das Massenladen in Azure Synapse Analytics oder Microsoft Fabric Data Warehouse wird unterstützt. Tabellen werden in Azure Data Lake Storage Gen2 (ADLS2) geladen und dann über den COPY-Befehl nach Azure Synapse übertragen. Formate wie durch Trennzeichen getrennte Dateien (CSV) und komprimierte, durch Trennzeichen getrennte Dateien (GZIP) werden unterstützt. Die Authentifizierung für das Massenladen erfordert spezifische Rollen in der ADLS-Kontokonfiguration (Contributor und Storage Blob Data Contributor).
Der CAS-Server unterstützt das Laden, Speichern und Schreiben von Daten des Typs VARCHAR und von Ganzzahl-Datentypen (INT32 und INT64). Operationen, die nicht vom CAS-Server durchgeführt werden, konvertieren VARCHAR-Daten in CHAR fester Länge und Ganzzahlen in DOUBLE-Werte, was die Präzision jenseits von 15 Ziffern beeinträchtigen kann.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP, sowie Verweise auf fiktive SQL Server-Tabellen.

1 Codeblock
CASLIB Data
Erklärung :
Dieser Beispiel stellt eine grundlegende Verbindung zwischen dem CAS-Server und einer Microsoft SQL Server-Datenbank her. Die CAS-Bibliothek 'SQLservercaslib' wird erstellt, wobei der Quelltyp 'sqlserver', ein Benutzername, ein Passwort und ein für die Verbindung konfigurierter DSN (Data Source Name) angegeben werden.
Kopiert!
1caslib SQLservercaslib desc='Microsoft SQL Server Caslib'
2 dataSource=(srctype='sqlserver',
3 username='myuser1',
4 password='myPwd',
5 sqlserver_dsn='dbsqlserver');
2 Codeblock
PROC CASUTIL Data
Erklärung :
Dieses Beispiel zeigt, wie eine Tabelle namens 'mySQLsvrdata' (hier simuliert durch einen DATA-Schritt) von einer Quell-Caslib (für dieses eigenständige Beispiel als CASUSER simuliert) in die Caslib 'casuser' geladen wird, unter Verwendung von PROC CASUTIL. Die geladene Tabelle wird in 'class_from_SQLservercaslib' umbenannt. Die Befehle 'list files' und 'contents' werden verwendet, um das Laden zu überprüfen und die Struktur der neuen CAS-Tabelle zu inspizieren. Die Option 'replace' ermöglicht das Ersetzen der Tabelle, falls sie bereits existiert.
Kopiert!
1/* Création d'une table SQL Server fictive pour l'exemple */
2DATA casuser.mySQLsvrdata;
3 INPUT ID Name $ Age Score;
4 DATALINES;
51 John 30 85
62 Jane 24 92
73 Mike 35 78
84 Emily 29 88
9;
10RUN;
11 
12PROC CASUTIL;
13 /* Supposons que SQLservercaslib est déjà définie comme dans l'exemple 1 */
14 /* list files incaslib="SQLservercaslib"; */
15 load casdata="mySQLsvrdata" incaslib="CASUSER" outcaslib="casuser"
16 casout="class_from_SQLservercaslib" replace;
17 list files incaslib="casuser";
18 contents casdata="class_from_SQLservercaslib" incaslib="casuser";
19QUIT;
3 Codeblock
PROC CASUTIL Data
Erklärung :
Dieser Beispiel veranschaulicht einen Massen-Upload von Daten aus einer CAS-Tabelle ('TEST1') in einen ADLS2-Speicher über einen Microsoft SQL Server-Konnektor. Zuerst wird die Azure Tenant ID über die Session-Optionen konfiguriert. Die CAS-Bibliothek 'sqls' wird mit SQL Server-Verbindungsdetails und Azure-Authentifizierungsinformationen (Identität und Secret für Shared Access Signature) definiert. Anschließend wird die Prozedur `CASUTIL` verwendet, um die Tabelle 'TEST1' in der Caslib 'sqls' zu speichern, wobei der Massen-Upload (bulkload=true) aktiviert und Optionen wie das Standard-Temporärverzeichnis ('defaultdir'), der Name des Azure-Speicherkontos, die Anwendungs-ID und das Dateisystem angegeben werden.
Kopiert!
1/* Création d'une table CAS fictive pour le chargement */
2DATA casuser.TEST1;
3 INPUT ProductID $ Quantity SaleDate:yymmdd10.;
4 FORMAT SaleDate yymmdd10.;
5 DATALINES;
6PROD_A 10 2023-01-15
7PROD_B 25 2023-02-20
8PROD_C 12 2023-03-01
9PROD_A 8 2023-03-10
10PROD_D 40 2023-04-05
11;
12RUN;
13 
14options cassessopts=(azuretenantid="user-tenant-id");
15 
16caslib sqls datasource=(srctype='sqlserver',
17 database='datasource_db',
18 username='user-id',
19 password='password',
20 schema='myschema',
21 identity='Shared Access Signature',
22 secret='shared-access-signature-value',
23 deleteDataFiles=true);
24 
25PROC CASUTIL incaslib="CASUSER" outcaslib="sqls";
26 save casdata="TEST1" casout="test1_out"
27 options={bulkload=true,
28 defaultdir='/temp_azure_dir',
29 accountName='azurestorageaccount',
30 applicationId='azure-application-id',
31 fileSystem='azureblobfilesystem',
32 compress=false} replace;
33RUN;
4 Codeblock
PROC CASUTIL / CASLIB Data
Erklärung :
Dieser erweiterte Beispiel zeigt, wie Daten aus einer SQL Server-Tabelle (hier simuliert durch 'Orders_SQL' in 'CASUSER') in eine neue CAS-Tabelle namens 'RecentOrders_CAS' in der Caslib 'casuser' geladen werden. Es wird eine WHERE-Klausel verwendet, um die Datensätze nach Datum ('OrderDate >= "01JAN2024"d') zu filtern, und die Option 'importoptions=(vars(...))', um nur bestimmte Spalten ('OrderID', 'CustomerID', 'TotalAmount') auszuwählen. Die Option 'promote' macht die geladene Tabelle global in der CAS-Sitzung verfügbar. Eine SQL Server-Caslib ('sqlserver_conn') ist ebenfalls definiert, um eine Verbindung zu einem bestimmten Schema ('Sales') zu veranschaulichen.
Kopiert!
1/* Préparation d'une caslib pour simuler des données SQL Server */
2DATA casuser.Orders_SQL;
3 INPUT OrderID CustomerID $ OrderDate:yymmdd10. TotalAmount;
4 FORMAT OrderDate yymmdd10.;
5 DATALINES;
6101 CUST001 2023-01-10 150.75
7102 CUST002 2023-02-05 200.00
8103 CUST001 2023-03-20 120.50
9104 CUST003 2024-01-01 300.00
10105 CUST002 2024-02-15 50.25
11106 CUST004 2024-03-10 450.00
12;
13RUN;
14 
15/* Connexion à SQL Server (simulée) */
16caslib sqlserver_conn desc='Connexion SQL Server pour Données de Ventes'
17 dataSource=(srctype='sqlserver',
18 username='myuser1',
19 password='myPwd',
20 sqlserver_dsn='dbsqlserver_prod', /* DSN d'une base de production */
21 schema='Sales'); /* Schéma spécifique */
22 
23/* Chargement des données filtrées dans une nouvelle table CAS */
24PROC CASUTIL;
25 load casdata="Orders_SQL" incaslib="CASUSER" casout="RecentOrders_CAS" outcaslib="casuser"
26 promote /* Rend la table visible pour toutes les sessions */
27 where='OrderDate >= "01JAN2024"d' /* Filtre pour les commandes après le 1er janvier 2024 */
28 importoptions=(vars=('OrderID' 'CustomerID' 'TotalAmount')); /* Sélectionne des colonnes spécifiques */
29 
30 list files incaslib="casuser";
31 contents casdata="RecentOrders_CAS" incaslib="casuser";
32QUIT;
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.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.