Los ejemplos utilizan datos generados (datalines) o SASHELP para simular las operaciones. Los parámetros de conexión a Netezza son ficticios y deben ser reemplazados por información real para su ejecución en un entorno de producción.
1 Bloque de código
CASLIB / PROC CASUTIL Data
Explicación : Este ejemplo inicializa una biblioteca CAS (CASLIB) llamada 'myNetezza' que se conecta a una base de datos Netezza. Luego simula una tabla local para mostrar cómo se podrían preparar los datos. Finalmente, utiliza el procedimiento `PROC CASUTIL` con la acción `LOAD` para cargar una tabla existente de Netezza (nombrada 'ma_table_netezza' en el ejemplo) en una tabla CAS en memoria, haciéndola disponible para los análisis de SAS Viya. La opción `PROMOTE` hace que la tabla sea visible para todas las sesiones CAS.
¡Copiado!
/* É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 Bloque de código
PROC CASUTIL
Explicación : Este ejemplo ilustra la carga de una tabla Netezza en CAS utilizando opciones de importación avanzadas. Especifica las columnas a incluir ('ProduitID', 'Quantite', 'PrixUnitaire') y aplica una cláusula `WHERE` para filtrar los registros donde la 'Quantite' es mayor que 100. Esto permite cargar solo un subconjunto relevante de los datos, optimizando así el uso de la memoria de CAS y el rendimiento del análisis.
¡Copiado!
/* 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 Bloque de código
PROC CASUTIL Data
Explicación : Este ejemplo demuestra cómo crear una nueva tabla en la memoria de CAS y exportarla a la base de datos Netezza. Se utiliza el procedimiento `PROC CASUTIL` con la acción `SAVE`, especificando la CASLIB Netezza como destino. La opción `REPLACE` indica que si ya existe una tabla con el mismo nombre en Netezza, esta será reemplazada. Esto es útil para la sincronización o la persistencia de los resultados del análisis.
¡Copiado!
/* 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 Bloque de código
PROC CAS / PROC CASUTIL Data
Explicación : Este ejemplo ilustra un flujo de trabajo completo que involucra Netezza y CAS. Comienza con la creación de una CASLIB para Netezza, luego crea una tabla SAS en memoria CAS con datos de transacción simulados. A continuación, utiliza `PROC CAS` con `FEDSQL` para ejecutar una consulta SQL que agrega los montos por categoría, almacenando el resultado en una nueva tabla CAS. Finalmente, esta tabla agregada se guarda en la base de datos Netezza, demostrando así la capacidad de SAS Viya para realizar análisis en memoria sobre datos de Netezza y persistir los resultados modificados o agregados en la fuente original.
¡Copiado!
/* 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
*/
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.