Les exemples utilisent des données générées (datalines) pour simuler une table Greenplum ou des données SASHELP, et des paramètres de connexion génériques. Les exemples sont autonomes.
1 Bloc de code
CASLIB
Explication : Cet exemple montre la manière la plus simple d'établir une connexion entre SAS Cloud Analytic Services (CAS) et une base de données Greenplum. La déclaration `CASLIB` est utilisée pour définir une bibliothèque CAS (`greenplumcaslib_basic`) qui pointe vers la source de données Greenplum. Les options `srctype`, `server`, `port`, `database`, `username`, `password` et `schema` sont essentielles pour spécifier les détails de connexion. Une fois la caslib définie, la procédure `proc cas; list caslibs; quit;` permet de vérifier sa présence.
Copié !
/* 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 Bloc de code
PROC CASUTIL Data
Explication : Cet exemple illustre le chargement de données depuis Greenplum (simulées ici par `casuser.myGPdata` pour l'autonomie de l'exemple) vers une table en mémoire CAS en utilisant `PROC CASUTIL`. La sous-commande `LOAD` spécifie la table source (`casdata`), la caslib source (`incaslib`), la caslib de destination (`outcaslib`) et le nom de la nouvelle table CAS (`casout`). L'option `promote` rend la table visible à toutes les sessions. Les commandes `table.tableInfo` et `table.fetch` sont ensuite utilisées pour vérifier que la table a bien été chargée et pour afficher ses premières lignes.
Copié !
/* 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' */
Explication : Cet exemple démontre des fonctionnalités avancées de `PROC CASUTIL` pour le chargement de données. Il inclut un filtrage côté source (`where='Quantity > 8'`) pour réduire le volume de données transférées et des options d'importation (`importoptions`) pour renommer les colonnes (`OrderID` en `CommandeID`, `Product` en `Produit`) et spécifier leurs types (`double`, `varchar`) lors du chargement dans CAS. Ces optimisations améliorent l'efficacité et la pertinence des données dans l'environnement CAS. La procédure `PROC PRINT` est utilisée pour afficher le résultat du chargement filtré et transformé.
Copié !
/* 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 Bloc de code
CAS ACTION Data
Explication : Cet exemple illustre l'utilisation directe d'une action CAS, spécifiquement `table.fetch`, pour interagir avec les données Greenplum sans passer par `PROC CASUTIL`. Il montre comment lire des données directement depuis la `greenplumcaslib` (simulant une table Greenplum appelée `greenplum_inventory`), appliquer une condition de filtrage (`where='Stock_Level < 100'`) et sauvegarder les résultats dans une nouvelle table CAS temporaire (`limited_stock_items`). Cette approche est typique des scénarios Viya où la manipulation des données est effectuée en mémoire distribuée sur le serveur CAS.
Copié !
/* 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 */
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.