Les exemples utilisent des données générées (datalines) ou SASHELP pour simuler les opérations. Les paramètres de connexion à Netezza sont fictifs et doivent être remplacés par des informations réelles pour une exécution en environnement de production.
1 Bloc de code
CASLIB / PROC CASUTIL Data
Explication : Cet exemple initialise une bibliothèque CAS (CASLIB) nommée 'myNetezza' qui se connecte à une base de données Netezza. Il simule ensuite une table locale pour montrer comment des données pourraient être préparées. Enfin, il utilise la procédure `PROC CASUTIL` avec l'action `LOAD` pour charger une table existante de Netezza (nommée 'ma_table_netezza' dans l'exemple) dans une table CAS en mémoire, la rendant disponible pour les analyses SAS Viya. L'option `PROMOTE` rend la table visible à toutes les sessions CAS.
Copié !
/* É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 Bloc de code
PROC CASUTIL
Explication : Cet exemple illustre le chargement d'une table Netezza dans CAS en utilisant des options d'importation avancées. Il spécifie les colonnes à inclure ('ProduitID', 'Quantite', 'PrixUnitaire') et applique une clause `WHERE` pour filtrer les enregistrements où la 'Quantite' est supérieure à 100. Cela permet de ne charger qu'un sous-ensemble pertinent des données, optimisant ainsi l'utilisation de la mémoire CAS et les performances d'analyse.
Copié !
/* 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 Bloc de code
PROC CASUTIL Data
Explication : Cet exemple démontre comment créer une nouvelle table en mémoire CAS et l'exporter vers la base de données Netezza. La procédure `PROC CASUTIL` avec l'action `SAVE` est utilisée, en spécifiant la CASLIB Netezza comme destination. L'option `REPLACE` indique que si une table du même nom existe déjà dans Netezza, elle sera remplacée. C'est utile pour la synchronisation ou la persistance des résultats d'analyse.
Copié !
/* 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 Bloc de code
PROC CAS / PROC CASUTIL Data
Explication : Cet exemple illustre un workflow complet impliquant Netezza et CAS. Il commence par la création d'une CASLIB pour Netezza, puis crée une table SAS en mémoire CAS avec des données de transaction simulées. Ensuite, il utilise `PROC CAS` avec `FEDSQL` pour exécuter une requête SQL qui agrège les montants par catégorie, stockant le résultat dans une nouvelle table CAS. Enfin, cette table agrégée est sauvegardée dans la base de données Netezza, démontrant ainsi la capacité de SAS Viya à effectuer des analyses en mémoire sur des données Netezza et à persister les résultats modifiés ou agrégés dans la source originale.
Copié !
/* 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
*/
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.