Comment traiter des tables massives partitionnées sans dégrader les temps de réponse du cluster ?

Optimisation de la localité des données avec CAS

Pour optimiser le traitement sur de gros volumes, l'action boxPlot supporte le paramètre partition. Lorsqu'il est activé sur une table déjà partitionnée, le moteur CAS effectue les calculs en parallèle au sein de chaque nœud de données, évitant ainsi le brassage coûteux des lignes sur le réseau. Un exemple de configuration efficace pour une table de ventes serait : table={name="ventes", groupby="region", partition=true}. Cette approche garantit une exécution haute performance tout en respectant les limites de ressources fixées par groupByLimit pour éviter la création de résultats trop fragmentés.

Exemple de Code Additionnel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* CASL Script : Analyse de distribution optimisée sans redistribution réseau
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */


proc cas;
/* 1. Chargement optimisé avec partitionnement physique */
table.loadTable /
path="ventes_historiques.sashdat",
caslib="Public",
casOut={name="ventes", replace=true, replication=0, partitionBy="region"};

/* 2. Exécution de l'action boxPlot avec exploitation de la partition */
visualAnalytics.boxPlot /
table={
name="ventes",
groupBy="region", /* La clé de groupe correspond à la partition */
partition=true /* Activation du mode de calcul local au nœud */
},
analysisVars="montant_transaction",
category="type_produit";
quit;

Exemples pour l'action boxPlot

Calcul de base des statistiques de boîte

Exécute une analyse boxPlot standard sur la variable 'score' de la table 'scores'.

Analyse complète avec détection de valeurs aberrantes et export

Cet exemple calcule les percentiles exacts, définit les moustaches au 10ème/90ème percentile et demande l'extraction des 50 pires/meilleures valeurs aberrantes dans une table de sortie.