Veröffentlicht am :
Datenzugriff CREATION_INTERNE

Netezza-Datenkonnektor

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieser Konnektor bietet eine Schnittstelle zwischen der SAS© Viya-Umgebung und Netezza-Datenquellen. Er ermöglicht Benutzern, Daten von Netezza in CAS-Tabellen zu lesen, CAS-Tabellen in Netezza zu schreiben und verteilte Verarbeitungsoperationen auf diesen Daten auszuführen. Die Integration erfolgt über die CAS-Bibliothek (CASLIB) oder CASUTIL-Prozeduren, die die notwendigen Mechanismen zur Angabe von Verbindungsoptionen (Server, Port, Datenbank, Anmeldeinformationen) und Datenübertragungsparametern bereitstellen. Er unterstützt verschiedene Übertragungsmodi zur Optimierung der Leistung und Ressourcenverwaltung beim Verschieben von Daten zwischen Netezza und CAS.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP, um die Operationen zu simulieren. Die Netezza-Verbindungsparameter sind fiktiv und müssen für die Ausführung in einer Produktionsumgebung durch tatsächliche Informationen ersetzt werden.

1 Codeblock
CASLIB / PROC CASUTIL Data
Erklärung :
Dieses Beispiel initialisiert eine CAS-Bibliothek (CASLIB) namens 'myNetezza', die eine Verbindung zu einer Netezza-Datenbank herstellt. Anschließend wird eine lokale Tabelle simuliert, um zu zeigen, wie Daten vorbereitet werden könnten. Schließlich wird die Prozedur `PROC CASUTIL` mit der Aktion `LOAD` verwendet, um eine vorhandene Netezza-Tabelle (im Beispiel 'ma_table_netezza' genannt) in eine In-Memory-CAS-Tabelle zu laden, wodurch sie für SAS Viya-Analysen verfügbar wird. Die Option `PROMOTE` macht die Tabelle für alle CAS-Sitzungen sichtbar.
Kopiert!
1/* Établit une connexion basique à Netezza et charge une table */
2 
3/* Crée une CASLIB pour Netezza */
4CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
5 SERVER='mon_serveur_netezza.com'
6 PORT=5480
7 DATABASE='ma_base_netezza'
8 UID='utilisateur'
9 PWD='motdepasse'
10 SCHEMA='mon_schema'
11)) SESSION=CAS;
12 
13/* Simule une petite table SAS en mémoire CAS */
14DATA casuser.local_data;
15 INPUT ID $ Value;
16 DATALINES;
17 A 10
18 B 20
19 C 30
20 ;
21RUN;
22 
23/* Charge une table depuis Netezza dans CAS (remplacez 'ma_table_netezza' par le nom réel) */
24PROC CASUTIL;
25 LOAD CASDATA="ma_table_netezza" INCASLIB="myNetezza" OUTCASLIB="casuser" PROMOTE;
26RUN;
27 
28/* Vérifie que la table est chargée en mémoire CAS */
29PROC CASSESSION;
30 list tables;
31QUIT;
32 
33/* Nettoyage : supprimer la table CAS et la CASLIB */
34/*
35PROC CASUTIL;
36 DROP TABLE casuser.ma_table_netezza;
37RUN;
38CASLIB _ALL_ PURGE;
39*/
2 Codeblock
PROC CASUTIL
Erklärung :
Dieses Beispiel veranschaulicht das Laden einer Netezza-Tabelle in CAS unter Verwendung erweiterter Importoptionen. Es gibt die einzuschließenden Spalten ('ProduitID', 'Quantite', 'PrixUnitaire') an und wendet eine `WHERE`-Klausel an, um Datensätze zu filtern, bei denen die 'Quantite' größer als 100 ist. Dies ermöglicht das Laden nur einer relevanten Teilmenge der Daten, wodurch die Nutzung des CAS-Speichers und die Analyseleistung optimiert werden.
Kopiert!
1/* Charge une table Netezza dans CAS avec sélection de colonnes et filtrage */
2 
3/* Assurez-vous que la CASLIB 'myNetezza' de l'exemple 1 est définie ou définissez-la ici */
4CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
5 SERVER='mon_serveur_netezza.com'
6 PORT=5480
7 DATABASE='ma_base_netezza'
8 UID='utilisateur'
9 PWD='motdepasse'
10 SCHEMA='mon_schema'
11)) SESSION=CAS;
12 
13/* Charge une table de Netezza en sélectionnant des colonnes et en appliquant un filtre */
14PROC CASUTIL;
15 LOAD CASDATA="table_ventes_netezza" INCASLIB="myNetezza" OUTCASLIB="casuser" PROMOTE
16 IMPORTOPTIONS=(SET=(SELECT="ProduitID" "Quantite" "PrixUnitaire")
17 WHERE="Quantite > 100");
18RUN;
19 
20/* Affiche les premières lignes de la table chargée */
21PROC CAS;
22 FEDSQL exec_sql_code='SELECT * FROM casuser.table_ventes_netezza LIMIT 5;';
23QUIT;
24 
25/* Nettoyage : supprimer la table CAS */
26/*
27PROC CASUTIL;
28 DROP TABLE casuser.table_ventes_netezza;
29RUN;
30*/
3 Codeblock
PROC CASUTIL Data
Erklärung :
Dieses Beispiel zeigt, wie eine neue Tabelle im CAS-Speicher erstellt und in die Netezza-Datenbank exportiert wird. Die Prozedur `PROC CASUTIL` mit der Aktion `SAVE` wird verwendet, wobei die Netezza-CASLIB als Ziel angegeben wird. Die Option `REPLACE` gibt an, dass eine Tabelle mit demselben Namen in Netezza ersetzt wird, falls sie bereits existiert. Dies ist nützlich für die Synchronisation oder die Persistenz von Analyseergebnissen.
Kopiert!
1/* Crée une table CAS et l'écrit dans Netezza */
2 
3/* Assurez-vous que la CASLIB 'myNetezza' est définie */
4CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
5 SERVER='mon_serveur_netezza.com'
6 PORT=5480
7 DATABASE='ma_base_netezza'
8 UID='utilisateur'
9 PWD='motdepasse'
10 SCHEMA='mon_schema'
11)) SESSION=CAS;
12 
13/* Crée une table CAS avec des données d'exemple */
14DATA casuser.nouvelles_donnees_cas;
15 INPUT ClientID $ Statut;
16 DATALINES;
17 C001 Actif
18 C002 Inactif
19 C003 Actif
20 ;
21RUN;
22 
23/* Écrit la table CAS vers Netezza */
24PROC CASUTIL;
25 SAVE CASDATA="nouvelles_donnees_cas" OUTCASLIB="myNetezza" REPLACE;
26RUN;
27 
28/* Affiche un message de confirmation (hypothétique) */
29/* (Dans un vrai environnement, vous vérifieriez dans Netezza directement) */
30%PUT %STR(INFO: La TABLE 'nouvelles_donnees_cas' a été sauvegardée dans Netezza.);
31 
32/* Nettoyage : supprimer la table CAS */
33/*
34PROC CASUTIL;
35 DROP TABLE casuser.nouvelles_donnees_cas;
36RUN;
37*/
4 Codeblock
PROC CAS / PROC CASUTIL Data
Erklärung :
Dieses Beispiel veranschaulicht einen vollständigen Workflow, der Netezza und CAS umfasst. Es beginnt mit der Erstellung einer CASLIB für Netezza, erstellt dann eine SAS-Tabelle im CAS-Speicher mit simulierten Transaktionsdaten. Anschließend wird `PROC CAS` mit `FEDSQL` verwendet, um eine SQL-Abfrage auszuführen, die die Beträge nach Kategorie aggregiert und das Ergebnis in einer neuen CAS-Tabelle speichert. Schließlich wird diese aggregierte Tabelle in der Netezza-Datenbank gespeichert, wodurch die Fähigkeit von SAS Viya demonstriert wird, In-Memory-Analysen auf Netezza-Daten durchzuführen und geänderte oder aggregierte Ergebnisse in der ursprünglichen Quelle zu persistieren.
Kopiert!
1/* Charge des données de Netezza, effectue une agrégation en CAS, puis sauvegarde les résultats dans Netezza */
2 
3/* Assurez-vous que la CASLIB 'myNetezza' est définie */
4CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
5 SERVER='mon_serveur_netezza.com'
6 PORT=5480
7 DATABASE='ma_base_netezza'
8 UID='utilisateur'
9 PWD='motdepasse'
10 SCHEMA='mon_schema'
11)) SESSION=CAS;
12 
13/* Simule une table de données 'transactions' en CAS */
14DATA casuser.transactions;
15 INPUT Categorie $ Montant;
16 DATALINES;
17 Alimentation 150
18 Vêtements 200
19 Alimentation 50
20 Électronique 1000
21 Vêtements 300
22 ;
23RUN;
24 
25/* Agrège les données en CAS (par exemple, somme des montants par catégorie) */
26PROC CAS;
27 FEDSQL exec_sql_code='CREATE TABLE casuser.somme_par_categorie AS
28 SELECT Categorie, SUM(Montant) AS TotalMontant
29 FROM casuser.transactions
30 GROUP BY Categorie;';
31QUIT;
32 
33/* Sauvegarde la table agrégée dans Netezza */
34PROC CASUTIL;
35 SAVE CASDATA="somme_par_categorie" OUTCASLIB="myNetezza" REPLACE;
36RUN;
37 
38%PUT %STR(INFO: La TABLE agrégée 'somme_par_categorie' a été sauvegardée dans Netezza.);
39 
40/* Nettoyage : supprimer les tables CAS */
41/*
42PROC CASUTIL;
43 DROP TABLE casuser.transactions;
44 DROP TABLE casuser.somme_par_categorie;
45RUN;
46*/
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.