Veröffentlicht am :
Datenzugriff CREATION_INTERNE

Greenplum-Datenkonnektor

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieser Datenkonnektor erleichtert die Integration von Daten, die in einer Greenplum-Datenbank gespeichert sind, in die In-Memory-Verarbeitungsumgebung von SAS© Viya. Er unterstützt verschiedene Greenplum-Datentypen und konvertiert diese in entsprechende CAS-Datentypen. Die Konfiguration beinhaltet die Definition einer 'Caslib', die die Details der Datenbankverbindung angibt, einschließlich Quelltyp, Server, Anmeldeinformationen, Datenbank und Schema. Datenlade- und -entladevorgänge können über CASLIB-Anweisungen oder Prozeduren wie PROC CASUTIL durchgeführt werden. Es ist entscheidend, die Groß- und Kleinschreibung von Tabellennamen und Identifikatoren, wie sie in Greenplum definiert sind, zu beachten.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines), um eine Greenplum-Tabelle oder SASHELP-Daten zu simulieren, sowie generische Verbindungsparameter. Die Beispiele sind eigenständig.

1 Codeblock
CASLIB
Erklärung :
Dieses Beispiel zeigt die einfachste Methode, eine Verbindung zwischen SAS Cloud Analytic Services (CAS) und einer Greenplum-Datenbank herzustellen. Die `CASLIB`-Anweisung wird verwendet, um eine CAS-Bibliothek (`greenplumcaslib_basic`) zu definieren, die auf die Greenplum-Datenquelle verweist. Die Optionen `srctype`, `server`, `port`, `database`, `username`, `password` und `schema` sind wesentlich für die Angabe der Verbindungsdetails. Sobald die Caslib definiert ist, ermöglicht die Prozedur `proc cas; list caslibs; quit;` ihre Präsenz zu überprüfen.
Kopiert!
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 Codeblock
PROC CASUTIL Data
Erklärung :
Dieses Beispiel veranschaulicht das Laden von Daten aus Greenplum (hier simuliert durch `casuser.myGPdata` für die Eigenständigkeit des Beispiels) in eine In-Memory-CAS-Tabelle unter Verwendung von `PROC CASUTIL`. Der `LOAD`-Unterbefehl spezifiziert die Quelltabelle (`casdata`), die Quell-Caslib (`incaslib`), die Ziel-Caslib (`outcaslib`) und den Namen der neuen CAS-Tabelle (`casout`). Die Option `promote` macht die Tabelle für alle Sessions sichtbar. Die Befehle `table.tableInfo` und `table.fetch` werden anschließend verwendet, um zu überprüfen, ob die Tabelle erfolgreich geladen wurde und ihre ersten Zeilen anzuzeigen.
Kopiert!
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 Codeblock
PROC CASUTIL Data
Erklärung :
Dieses Beispiel demonstriert erweiterte Funktionen von `PROC CASUTIL` für das Laden von Daten. Es beinhaltet eine serverseitige Filterung (`where='Quantity > 8'`), um das Volumen der übertragenen Daten zu reduzieren, sowie Importoptionen (`importoptions`) zum Umbenennen von Spalten (`OrderID` in `CommandeID`, `Product` in `Produit`) und zur Angabe ihrer Typen (`double`, `varchar`) beim Laden in CAS. Diese Optimierungen verbessern die Effizienz und Relevanz der Daten in der CAS-Umgebung. Die Prozedur `PROC PRINT` wird verwendet, um das Ergebnis des gefilterten und transformierten Ladevorgangs anzuzeigen.
Kopiert!
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 Codeblock
CAS ACTION Data
Erklärung :
Dieses Beispiel veranschaulicht die direkte Verwendung einer CAS-Aktion, insbesondere `table.fetch`, um mit Greenplum-Daten zu interagieren, ohne `PROC CASUTIL` zu verwenden. Es zeigt, wie Daten direkt aus der `greenplumcaslib` (die eine Greenplum-Tabelle namens `greenplum_inventory` simuliert) gelesen, eine Filterbedingung (`where='Stock_Level < 100'`) angewendet und die Ergebnisse in einer neuen temporären CAS-Tabelle (`limited_stock_items`) gespeichert werden. Dieser Ansatz ist typisch für Viya-Szenarien, bei denen die Datenmanipulation im verteilten Speicher des CAS-Servers erfolgt.
Kopiert!
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;
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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved