La gestion de la mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya. est primordiale sur des clusters chargés. L'action propose le paramètre memoryFormat dans les options de sortie. En définissant ce paramètre sur DVR (Duplicate Value Reduction), le moteur compresse intelligemment les colonnes ayant une faible cardinalitéLa cardinalité représente le nombre de valeurs distinctes contenues dans une colonne. Une cardinalité élevée indique une grande diversité de données, influençant le choix des modèles dans CAS., réduisant drastiquement l'espace consommé. Couplé au paramètre compress, vous minimisez la taille globale de la table. Si la mémoireGemini said
Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya. physique reste insuffisante, le paramètre maxMemSize agit comme un garde-fou en forçant le déchargement des blocs excédentaires vers des fichiers mappés sur le cache disque (CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements.).
Explosion de la RAM : Comment maîtriser l'empreinte mémoire lors d'une copie massive de données ?
Optimisation de la Mémoire CAS : Stratégies Avancées
Exemple de Code Additionnel
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
proc cas;
table.copy /
/* Source : Table volumineuse en base externe ou format SAS7BDAT */
source={caslib="Public", name="VENTES_HISTORIQUE_EXTREME"}
/* Cible : Optimisation maximale pour la RAM */
casout={
caslib="Public",
name="VENTES_OPTIMISEES",
replace=true,
/* 1. Réduction de l'empreinte RAM via Duplicate Value Reduction */
memoryFormat="DVR",
/* 2. Compression additionnelle pour le stockage disque/transfert */
compress=true,
/* 3. Limite de sécurité : 2 Go de RAM max avant d'utiliser le cache disque */
maxMemSize=2147483648,
/* 4. Organisation pour accélérer les futurs accès */
replication=0 /* Sur gros volumes, éviter la duplication inutile */
};
quit;
Exemples pour l'action copyTable
Copie simple d'une table
Une duplication basique de la table 'source_data' vers 'target_data' dans la même bibliothèque.
Copie avancée avec calculs, filtrage et compression
Cet exemple montre comment copier uniquement les voitures de luxe, créer une colonne calculée pour le ratio puissance/poids, et compresser le résultat pour économiser de la mémoire %https://go.documentation.sas.com/doc/en/pgmsascdc/v_069/caspg/p1xt9526uq5etwn1vmnk8koh0k6y.htm#p0iuxq2k5gy33wn1vmko6nc8ofq3%.
Promotion d'une table copiée
Copie d'une table personnelle vers une bibliothèque partagée en la rendant disponible pour tous les autres utilisateurs (promotion).