Dans un environnement Cloud Analytic ServicesMoteur d'exécution in-memory de SAS Viya. Il assure le traitement massivement parallèle (MPP) et distribué des données pour optimiser les performances analytiques et le passage à l'échelle., la redondance des données peut rapidement saturer vos plans de données en 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. et fausser vos modèles analytiques. L'action deduplicate permet de nettoyer massivement vos tables distribuées en identifiant et en isolant les doublons. En séparant efficacement les enregistrements uniques des enregistrements multiples vers des caslibsUne caslib est un conteneur logique dans SAS Viya regroupant des données en mémoire (tables CAS) et une source de stockage physique, tout en gérant les droits d'accès associés. spécifiques, vous garantissez l'intégrité de vos vues analytiques tout en réduisant l'empreinte 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. globale de votre infrastructure SAS Viya.
Comment l'action deduplicate de SAS Viya optimise-t-elle la qualité de nos données massives et réduit-elle nos coûts de stockage ?
Optimisation de l'Empreinte CAS et Intégrité Analytique
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
28
(c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
proc cas;
/* Chargement du package de nettoyage de données */
loadactionset "dataPreperation";
action dataPreperation.deduplicate /
table={
caslib="public",
name="IOT_RAW_DATA",
groupby={"device_id", "timestamp_utc"} /* Clés de déduplication */
},
outTable={
caslib="public",
name="IOT_CLEAN_UNIQUE",
replace=true,
label="Données uniques prêtes pour le ML"
},
duplicateOutTable={
caslib="audit",
name="IOT_DUPLICATE_REJECTS",
replace=true,
label="Doublons isolés pour analyse root-cause"
},
noDuplicateKeys=true; /* Logique de réduction de cardinalité */
run;
quit;
Exemples pour l'action deduplicate
Dédoublonnage basique par identifiant client
Cet exemple élimine les doublons sur la variable `id_client`. L'algorithme ne garde qu'une seule ligne par client dans `cmd_dedoublonnees`, sans que nous ayons forcé le tri.
Conservation intelligente de la commande la plus récente avec sauvegarde des rejets
L'approche la plus recommandée : nous utilisons `orderBy` en descendant sur la date pour garantir que la ligne conservée soit la commande la plus récente. Les anciennes commandes sont poussées dans une table d'archive via `duplicateOut`.
Filtrage inversé : ne garder que les clients ayant commandé plusieurs fois
Ici, on détourne l'action. Au lieu de dédoublonner, on veut repérer nos clients récurrents. En activant `noUniqueKeys`, on élimine les clients ponctuels (Martin).