Conector de datos Greenplum

Este código también está disponible en: Deutsch English Français
Nivel de dificultad
Principiante
Publicado el :
Este conector de datos facilita la integración de los datos almacenados en una base de datos Greenplum con el entorno de procesamiento en memoria de SAS© Viya. Soporta diversos tipos de datos Greenplum, convirtiéndolos en los tipos de datos CAS correspondientes. La configuración implica la definición de una 'caslib' que especifica los detalles de conexión a la base de datos, incluyendo el tipo de origen, el servidor, las credenciales, la base de datos y el esquema. Las operaciones de carga y descarga de datos pueden realizarse a través de instrucciones CASLIB o procedimientos como PROC CASUTIL. Es crucial respetar la distinción entre mayúsculas y minúsculas de los nombres de tablas e identificadores tal como están definidos en Greenplum.
Análisis de datos

Type : CREATION_INTERNE


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!
1/* Remplacez les valeurs fictives par vos informations de connexion Greenplum */
2caslib 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 */
14PROC CAS;
15 list caslibs;
16QUIT;
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!
1/* Créer une table CAS factice pour simuler des données Greenplum (si non existantes) */
2DATA 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 ;
10RUN;
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 */
14caslib 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' */
26PROC CASUTIL;
27 load casdata='myGPdata' incaslib='greenplumcaslib' outcaslib='casuser'
28 casout='myGPdata_cas' promote;
29QUIT;
30 
31/* Vérifier le chargement et le contenu de la table CAS */
32PROC CAS;
33 TABLE.tableInfo caslib='casuser' TABLE='myGPdata_cas';
34 TABLE.fetch caslib='casuser' TABLE='myGPdata_cas' sastableonly=true;
35QUIT;
3 Bloque de código
PROC CASUTIL Data
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!
1/* Créer une table CAS factice pour simuler des données Greenplum */
2DATA casuser.greenplum_sales;
3 INPUT OrderID Product $ Quantity Price;
4 DATALINES;
5 101 A 10 25.50
6 102 B 5 10.00
7 103 A 12 25.50
8 104 C 8 50.25
9 105 B 7 10.00
10 ;
11RUN;
12 
13/* Supposons que greenplumcaslib est déjà définie */
14/* Simuler un chargement depuis Greenplum avec filtrage et sélection/renommage de colonnes */
15PROC CASUTIL;
16 load casdata='greenplum_sales' incaslib='greenplumcaslib' outcaslib='casuser'
17 casout='filtered_greenplum_data' promote
18 where='Quantity > 8' /* Filtrage des données dès la source Greenplum */
19 importoptions=(
20 columns=(
21 {name='OrderID', rename='CommandeID', type='double'},
22 {name='Product', rename='Produit', type='varchar'}
23 )
24 );
25QUIT;
26 
27/* Vérifier le chargement et les transformations */
28PROC PRINT DATA=casuser.filtered_greenplum_data;
29RUN;
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!
1/* Créer une table CAS factice pour simuler des données Greenplum */
2DATA 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 ;
10RUN;
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 */
14caslib 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 */
26PROC CAS;
27 SESSION casauto;
28 TABLE.fetch caslib='greenplumcaslib' TABLE='greenplum_inventory' /* Simule une table Greenplum */
29 where='Stock_Level < 100'
30 to='limited_stock_items';
31
32 /* Afficher le résultat de l'action CAS */
33 TABLE.contents caslib='casuser' TABLE='limited_stock_items';
34 TABLE.fetch caslib='casuser' TABLE='limited_stock_items' sastableonly=true;
35QUIT;
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.
Información de copyright : Copyright © SAS Institute Inc. All Rights Reserved


Documentación relacionada

Aucune documentation spécifique pour cette catégorie.