SAS Viya : Optimisez vos tables In-Memory avec PROC CASUTIL et ALTERTABLE

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Débutant
Publié le :
Michael

Le Conseil de l'Expert

Michael
Responsable de l'infrastructure Viya.

Privilégiez toujours ALTERTABLE au sein de PROC CASUTIL pour supprimer des colonnes plutôt que de recréer une table via un DATA Step. C'est une opération de métadonnées quasi instantanée qui évite de copier inutilement des gigaoctets de données en mémoire.

L'analyse fonctionnelle démontre l'utilisation de PROC CASUTIL pour interagir avec le moteur Cloud Analytic Services (CAS). L'instruction LOAD permet de transférer un jeu de données SAS© (ici, sashelp.cars) vers une table CAS en mémoire. L'option 'replace' assure que la table est recréée si elle existe déjà. L'instruction PARTITION est utilisée pour filtrer cette table CAS en fonction de conditions spécifiées par la clause 'where' (MSRP supérieur à 90 000 et la marque 'Porsche'), créant ainsi une nouvelle table CAS. Enfin, l'instruction ALTERTABLE est employée pour modifier la structure de cette nouvelle table, en ne conservant que les colonnes 'make', 'model' et 'MSRP', optimisant ainsi la mémoire et la pertinence des données. Le PROC PRINT final affiche le résultat de ces manipulations en accédant à la table CAS via la bibliothèque CAS 'mylib'.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) ou SASHELP.

1 Bloc de code
PROC CASUTIL Data
Explication :
Ce code initialise une session CAS et une libname CAS. Il charge ensuite le jeu de données 'sashelp.cars' en mémoire CAS sous le nom 'cars'. L'instruction PARTITION filtre la table 'cars' pour inclure uniquement les voitures avec un MSRP (prix de détail suggéré par le fabricant) supérieur à 90 000 et dont la marque est 'Porsche', stockant le résultat dans une nouvelle table 'carsWhere'. Enfin, l'instruction ALTERTABLE modifie 'carsWhere' pour ne conserver que les colonnes 'make', 'model' et 'MSRP'. Le résultat est ensuite affiché en utilisant PROC PRINT.
Copié !
1cas casauto sessopts=(caslib='casuser');
2LIBNAME mylib cas;
3 
4PROC CASUTIL;
5 load DATA=sashelp.cars
6 casout='cars' replace;
7 partition casdata='cars'
8 casout='carsWhere' replace
9 where='MSRP>90000 and Make="Porsche"';
10 altertable casdata="carsWhere"
11 keep={"make", "model", "MSRP"};
12QUIT;
13PROC PRINT DATA=mylib.carsWhere;
L'Astuce Pro
Pour optimiser l utilisation des ressources memoire de votre cluster, preferez l utilisation de l instruction ALTERTABLE au sein de la PROC CASUTIL plutot qu une etape DATA pour supprimer ou conserver des colonnes (KEEP/DROP) : contrairement a l etape DATA qui cree une nouvelle copie physique de la table en memoire, ALTERTABLE modifie directement les metadonnees de la table existante, ce qui est quasi instantane et evite toute duplication inutile de donnees volumineuses.
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.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved


Documentation liée

Aucune documentation spécifique pour cette catégorie.