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!
/* 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 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!
/* 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' */
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!
/* 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 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!
/* 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 */
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.