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!
/* Établit une connexion basique à Netezza et charge une table */
/* Crée une CASLIB pour Netezza */
CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
SERVER='mon_serveur_netezza.com'
PORT=5480
DATABASE='ma_base_netezza'
UID='utilisateur'
PWD='motdepasse'
SCHEMA='mon_schema'
)) SESSION=CAS;
/* Simule une petite table SAS en mémoire CAS */
DATA casuser.local_data;
INPUT ID $ Value;
DATALINES;
A 10
B 20
C 30
;
RUN;
/* Charge une table depuis Netezza dans CAS (remplacez 'ma_table_netezza' par le nom réel) */
PROC CASUTIL;
LOAD CASDATA="ma_table_netezza" INCASLIB="myNetezza" OUTCASLIB="casuser" PROMOTE;
RUN;
/* Vérifie que la table est chargée en mémoire CAS */
PROC CASSEssion;
list tables;
QUIT;
/* Nettoyage : supprimer la table CAS et la CASLIB */
/*
PROC CASUTIL;
DROP TABLE casuser.ma_table_netezza;
RUN;
CASLIB _ALL_ PURGE;
*/
1
/* Établit une connexion basique à Netezza et charge une table */
/* Vérifie que la table est chargée en mémoire CAS */
29
PROC CASSESSION;
30
list tables;
31
QUIT;
32
33
/* Nettoyage : supprimer la table CAS et la CASLIB */
34
/*
35
PROC CASUTIL;
36
DROP TABLE casuser.ma_table_netezza;
37
RUN;
38
CASLIB _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!
/* Charge une table Netezza dans CAS avec sélection de colonnes et filtrage */
/* Assurez-vous que la CASLIB 'myNetezza' de l'exemple 1 est définie ou définissez-la ici */
CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
SERVER='mon_serveur_netezza.com'
PORT=5480
DATABASE='ma_base_netezza'
UID='utilisateur'
PWD='motdepasse'
SCHEMA='mon_schema'
)) SESSION=CAS;
/* Charge une table de Netezza en sélectionnant des colonnes et en appliquant un filtre */
PROC CASUTIL;
LOAD CASDATA="table_ventes_netezza" INCASLIB="myNetezza" OUTCASLIB="casuser" PROMOTE
IMPORTOPTIONS=(SET=(SELECT="ProduitID" "Quantite" "PrixUnitaire")
WHERE="Quantite > 100");
RUN;
/* Affiche les premières lignes de la table chargée */
PROC CAS;
FEDSQL exec_sql_code='SELECT * FROM casuser.table_ventes_netezza LIMIT 5;';
QUIT;
/* Nettoyage : supprimer la table CAS */
/*
PROC CASUTIL;
DROP TABLE casuser.table_ventes_netezza;
RUN;
*/
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 */
/* Affiche les premières lignes de la table chargée */
21
PROC CAS;
22
FEDSQL exec_sql_code='SELECT * FROM casuser.table_ventes_netezza LIMIT 5;';
23
QUIT;
24
25
/* Nettoyage : supprimer la table CAS */
26
/*
27
PROC CASUTIL;
28
DROP TABLE casuser.table_ventes_netezza;
29
RUN;
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!
/* Crée une table CAS et l'écrit dans Netezza */
/* Assurez-vous que la CASLIB 'myNetezza' est définie */
CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
SERVER='mon_serveur_netezza.com'
PORT=5480
DATABASE='ma_base_netezza'
UID='utilisateur'
PWD='motdepasse'
SCHEMA='mon_schema'
)) SESSION=CAS;
/* Crée une table CAS avec des données d'exemple */
DATA casuser.nouvelles_donnees_cas;
INPUT ClientID $ Statut;
DATALINES;
C001 Actif
C002 Inactif
C003 Actif
;
RUN;
/* Écrit la table CAS vers Netezza */
PROC CASUTIL;
SAVE CASDATA="nouvelles_donnees_cas" OUTCASLIB="myNetezza" REPLACE;
RUN;
/* Affiche un message de confirmation (hypothétique) */
/* (Dans un vrai environnement, vous vérifieriez dans Netezza directement) */
%PUT %STR(INFO: La table 'nouvelles_donnees_cas' a été sauvegardée dans Netezza.);
/* Nettoyage : supprimer la table CAS */
/*
PROC CASUTIL;
DROP TABLE casuser.nouvelles_donnees_cas;
RUN;
*/
1
/* Crée une table CAS et l'écrit dans Netezza */
2
3
/* Assurez-vous que la CASLIB 'myNetezza' est définie */
/* Crée une table CAS avec des données d'exemple */
14
DATA casuser.nouvelles_donnees_cas;
15
INPUT ClientID $ Statut;
16
DATALINES;
17
C001 Actif
18
C002 Inactif
19
C003 Actif
20
;
21
RUN;
22
23
/* Écrit la table CAS vers Netezza */
24
PROC CASUTIL;
25
SAVE CASDATA="nouvelles_donnees_cas" OUTCASLIB="myNetezza" REPLACE;
26
RUN;
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
/*
34
PROC CASUTIL;
35
DROP TABLE casuser.nouvelles_donnees_cas;
36
RUN;
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!
/* Charge des données de Netezza, effectue une agrégation en CAS, puis sauvegarde les résultats dans Netezza */
/* Assurez-vous que la CASLIB 'myNetezza' est définie */
CASLIB myNetezza LIBREF=netezza DATASOURCE=(DBCONNECTOPTS=(
SERVER='mon_serveur_netezza.com'
PORT=5480
DATABASE='ma_base_netezza'
UID='utilisateur'
PWD='motdepasse'
SCHEMA='mon_schema'
)) SESSION=CAS;
/* Simule une table de données 'transactions' en CAS */
DATA casuser.transactions;
INPUT Categorie $ Montant;
DATALINES;
Alimentation 150
Vêtements 200
Alimentation 50
Électronique 1000
Vêtements 300
;
RUN;
/* Agrège les données en CAS (par exemple, somme des montants par catégorie) */
PROC CAS;
FEDSQL exec_sql_code='CREATE TABLE casuser.somme_par_categorie AS
SELECT Categorie, SUM(Montant) AS TotalMontant
FROM casuser.transactions
GROUP BY Categorie;';
QUIT;
/* Sauvegarde la table agrégée dans Netezza */
PROC CASUTIL;
SAVE CASDATA="somme_par_categorie" OUTCASLIB="myNetezza" REPLACE;
RUN;
%PUT %STR(INFO: La table agrégée 'somme_par_categorie' a été sauvegardée dans Netezza.);
/* Nettoyage : supprimer les tables CAS */
/*
PROC CASUTIL;
DROP TABLE casuser.transactions;
DROP TABLE casuser.somme_par_categorie;
RUN;
*/
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 */
/* Simule une table de données 'transactions' en CAS */
14
DATA 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
;
23
RUN;
24
25
/* Agrège les données en CAS (par exemple, somme des montants par catégorie) */
26
PROC 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;';
31
QUIT;
32
33
/* Sauvegarde la table agrégée dans Netezza */
34
PROC CASUTIL;
35
SAVE CASDATA="somme_par_categorie" OUTCASLIB="myNetezza" REPLACE;
36
RUN;
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
/*
42
PROC CASUTIL;
43
DROP TABLE casuser.transactions;
44
DROP TABLE casuser.somme_par_categorie;
45
RUN;
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.