La puissance de l'architecture SAS Viya réside dans son exécution distribuée. L'action brScore expose le paramètre nThreads, qui définit le nombre de threadsUnités d'exécution parallèles au sein d'un processus CAS. Ils permettent de distribuer simultanément les calculs sur plusieurs cœurs CPU pour accélérer le traitement des données dans SAS Viya. de calcul à mobiliser sur chaque nœud du clusterEnsemble de nœuds (machines) interconnectés, gérés par Kubernetes, qui collaborent pour exécuter les microservices et le moteur CAS de SAS Viya, assurant haute disponibilité et passage à l'échelle. CAS. En configurant correctement ce paramètre, vous pouvez paralléliser le processus de matching des règles, réduisant ainsi drastiquement le temps de traitement (le temps de cycle) pour les analyses de masse, tout en optimisant l'utilisation des ressources processeur de votre plan de données.
Comment doper les performances de traitement sur des milliards de lignes de texte ?
Parallélisation massive via CAS et brScore
Exemple de Code Additionnel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/* CASL Script : Optimisation brScore sur Volumes Massifs
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
proc cas;
/* 1. Chargement et vérification de la session */
session casauto;
/* 2. Appel de l'action brScore avec parallélisation maximale */
businessRules.brScore /
/* Table source distribuée sur le cluster */
table={caslib="public", name="BILLIONS_TEXT_DATA"},
/* Paramétrage de la puissance de calcul */
nThreads=16, /* Définit 16 threads de calcul par nœud Worker */
/* Spécification des règles métier (Rule Set) */
ruleSet={caslib="public", name="TEXT_MATCHING_RULES"},
/* Table de destination */
casOut={caslib="public", name="SCORED_RESULTS", replace=true},
/* Options de monitoring de performance */
copyVars={"id_transaction", "text_content"};
run;
quit;
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
proc cas;
/* 1. Chargement et vérification de la session */
session casauto;
/* 2. Appel de l'action brScore avec parallélisation maximale */
businessRules.brScore /
/* Table source distribuée sur le cluster */
table={caslib="public", name="BILLIONS_TEXT_DATA"},
/* Paramétrage de la puissance de calcul */
nThreads=16, /* Définit 16 threads de calcul par nœud Worker */
/* Spécification des règles métier (Rule Set) */
ruleSet={caslib="public", name="TEXT_MATCHING_RULES"},
/* Table de destination */
casOut={caslib="public", name="SCORED_RESULTS", replace=true},
/* Options de monitoring de performance */
copyVars={"id_transaction", "text_content"};
run;
quit;