Los ejemplos utilizan datos generados (datalines) para simular una tabla Greenplum o datos SASHELP, y parámetros de conexión genéricos. Los ejemplos son autónomos.
1 Bloque de código
CASLIB
Explicación : Este ejemplo muestra la forma más sencilla de establecer una conexión entre SAS Cloud Analytic Services (CAS) y una base de datos Greenplum. La declaración `CASLIB` se utiliza para definir una biblioteca CAS (`greenplumcaslib_basic`) que apunta a la fuente de datos Greenplum. Las opciones `srctype`, `server`, `port`, `database`, `username`, `password` y `schema` son esenciales para especificar los detalles de conexión. Una vez definida la caslib, el procedimiento `proc cas; list caslibs; quit;` permite verificar su presencia.
¡Copiado!
/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
caslib greenplumcaslib_basic
datasource=(
srctype='greenplum',
server='votre_serveur_greenplum.com',
port=5432,
database='votre_bdd_greenplum',
username='votre_utilisateur',
password='votre_motdepasse',
schema='public'
);
/* Vérifier que la caslib a été ajoutée */
proc cas;
list caslibs;
quit;
1
/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
2
caslib greenplumcaslib_basic
3
datasource=(
4
srctype='greenplum',
5
server='votre_serveur_greenplum.com',
6
port=5432,
7
database='votre_bdd_greenplum',
8
username='votre_utilisateur',
9
password='votre_motdepasse',
10
schema='public'
11
);
12
13
/* Vérifier que la caslib a été ajoutée */
14
PROC CAS;
15
list caslibs;
16
QUIT;
2 Bloque de código
PROC CASUTIL Data
Explicación : Este ejemplo ilustra la carga de datos desde Greenplum (simulados aquí por `casuser.myGPdata` para la autonomía del ejemplo) a una tabla en memoria CAS utilizando `PROC CASUTIL`. El subcomando `LOAD` especifica la tabla de origen (`casdata`), la caslib de origen (`incaslib`), la caslib de destino (`outcaslib`) y el nombre de la nueva tabla CAS (`casout`). La opción `promote` hace que la tabla sea visible para todas las sesiones. Los comandos `table.tableInfo` y `table.fetch` se utilizan posteriormente para verificar que la tabla se ha cargado correctamente y para mostrar sus primeras filas.
¡Copiado!
/* Créer une table CAS factice pour simuler des données Greenplum (si non existantes) */
data casuser.myGPdata;
input ID Name $ Value;
datalines;
1 John 100
2 Jane 150
3 Mike 200
4 Sarah 120
;
run;
/* Définir une caslib Greenplum (assumant qu'elle est déjà définie et configurée comme dans l'Exemple 1) */
/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
caslib greenplumcaslib
datasource=(
srctype='greenplum',
server='votre_serveur_greenplum.com',
port=5432,
database='votre_bdd_greenplum',
username='votre_utilisateur',
password='votre_motdepasse',
schema='public'
);
/* Utiliser PROC CASUTIL pour charger la table 'myGPdata' (simulant une table Greenplum) dans 'casuser' */
proc casutil;
load casdata='myGPdata' incaslib='greenplumcaslib' outcaslib='casuser'
casout='myGPdata_cas' promote;
quit;
/* Vérifier le chargement et le contenu de la table CAS */
proc cas;
table.tableInfo caslib='casuser' table='myGPdata_cas';
table.fetch caslib='casuser' table='myGPdata_cas' sastableonly=true;
quit;
1
/* Créer une table CAS factice pour simuler des données Greenplum (si non existantes) */
2
DATA casuser.myGPdata;
3
INPUT ID Name $ Value;
4
DATALINES;
5
1 John 100
6
2 Jane 150
7
3 Mike 200
8
4 Sarah 120
9
;
10
RUN;
11
12
/* Définir une caslib Greenplum (assumant qu'elle est déjà définie et configurée comme dans l'Exemple 1) */
13
/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
14
caslib greenplumcaslib
15
datasource=(
16
srctype='greenplum',
17
server='votre_serveur_greenplum.com',
18
port=5432,
19
database='votre_bdd_greenplum',
20
username='votre_utilisateur',
21
password='votre_motdepasse',
22
schema='public'
23
);
24
25
/* Utiliser PROC CASUTIL pour charger la table 'myGPdata' (simulant une table Greenplum) dans 'casuser' */
Explicación : Este ejemplo demuestra funcionalidades avanzadas de `PROC CASUTIL` para la carga de datos. Incluye un filtrado del lado de la fuente (`where='Quantity > 8'`) para reducir el volumen de datos transferidos y opciones de importación (`importoptions`) para renombrar las columnas (`OrderID` a `CommandeID`, `Product` a `Produit`) y especificar sus tipos (`double`, `varchar`) durante la carga en CAS. Estas optimizaciones mejoran la eficiencia y la relevancia de los datos en el entorno CAS. El procedimiento `PROC PRINT` se utiliza para mostrar el resultado de la carga filtrada y transformada.
¡Copiado!
/* Créer une table CAS factice pour simuler des données Greenplum */
data casuser.greenplum_sales;
input OrderID Product $ Quantity Price;
datalines;
101 A 10 25.50
102 B 5 10.00
103 A 12 25.50
104 C 8 50.25
105 B 7 10.00
;
run;
/* Supposons que greenplumcaslib est déjà définie */
/* Simuler un chargement depuis Greenplum avec filtrage et sélection/renommage de colonnes */
proc casutil;
load casdata='greenplum_sales' incaslib='greenplumcaslib' outcaslib='casuser'
casout='filtered_greenplum_data' promote
where='Quantity > 8' /* Filtrage des données dès la source Greenplum */
importoptions=(
columns=(
{name='OrderID', rename='CommandeID', type='double'},
{name='Product', rename='Produit', type='varchar'}
)
);
quit;
/* Vérifier le chargement et les transformations */
proc print data=casuser.filtered_greenplum_data;
run;
1
/* Créer une table CAS factice pour simuler des données Greenplum */
2
DATA casuser.greenplum_sales;
3
INPUT OrderID Product $ Quantity Price;
4
DATALINES;
5
101 A 1025.50
6
102 B 510.00
7
103 A 1225.50
8
104 C 850.25
9
105 B 710.00
10
;
11
RUN;
12
13
/* Supposons que greenplumcaslib est déjà définie */
14
/* Simuler un chargement depuis Greenplum avec filtrage et sélection/renommage de colonnes */
/* Vérifier le chargement et les transformations */
28
PROC PRINTDATA=casuser.filtered_greenplum_data;
29
RUN;
4 Bloque de código
CAS ACTION Data
Explicación : Este ejemplo ilustra el uso directo de una acción CAS, específicamente `table.fetch`, para interactuar con los datos de Greenplum sin pasar por `PROC CASUTIL`. Muestra cómo leer datos directamente desde `greenplumcaslib` (simulando una tabla Greenplum llamada `greenplum_inventory`), aplicar una condición de filtrado (`where='Stock_Level < 100'`) y guardar los resultados en una nueva tabla CAS temporal (`limited_stock_items`). Este enfoque es típico de los escenarios de Viya donde la manipulación de datos se realiza en memoria distribuida en el servidor CAS.
¡Copiado!
/* Créer une table CAS factice pour simuler des données Greenplum */
data casuser.greenplum_inventory;
input Item $ Stock_Level Location $;
datalines;
Laptop 50 WarehouseA
Mouse 200 WarehouseB
Keyboard 120 WarehouseA
Monitor 75 WarehouseC
;
run;
/* Définir une caslib Greenplum (assumant qu'elle est déjà définie et configurée) */
/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
caslib greenplumcaslib
datasource=(
srctype='greenplum',
server='votre_serveur_greenplum.com',
port=5432,
database='votre_bdd_greenplum',
username='votre_utilisateur',
password='votre_motdepasse',
schema='public'
);
/* Utiliser l'action 'table.fetch' pour lire directement depuis la source Greenplum via la caslib */
proc cas;
session casauto;
table.fetch caslib='greenplumcaslib' table='greenplum_inventory' /* Simule une table Greenplum */
where='Stock_Level < 100'
to='limited_stock_items';
/* Afficher le résultat de l'action CAS */
table.contents caslib='casuser' table='limited_stock_items';
table.fetch caslib='casuser' table='limited_stock_items' sastableonly=true;
quit;
1
/* Créer une table CAS factice pour simuler des données Greenplum */
2
DATA casuser.greenplum_inventory;
3
INPUT Item $ Stock_Level Location $;
4
DATALINES;
5
Laptop 50 WarehouseA
6
Mouse 200 WarehouseB
7
Keyboard 120 WarehouseA
8
Monitor 75 WarehouseC
9
;
10
RUN;
11
12
/* Définir une caslib Greenplum (assumant qu'elle est déjà définie et configurée) */
13
/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
14
caslib greenplumcaslib
15
datasource=(
16
srctype='greenplum',
17
server='votre_serveur_greenplum.com',
18
port=5432,
19
database='votre_bdd_greenplum',
20
username='votre_utilisateur',
21
password='votre_motdepasse',
22
schema='public'
23
);
24
25
/* Utiliser l'action 'table.fetch' pour lire directement depuis la source Greenplum via la caslib */
26
PROC CAS;
27
SESSION casauto;
28
TABLE.fetch caslib='greenplumcaslib'TABLE='greenplum_inventory'/* Simule une table Greenplum */
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.