table

copyTable

##set_table ##data_management

Description

L'action copyTable  est le véritable couteau suisse pour dupliquer vos données au sein de la mémoire    distribuée de SAS Viya.

L'action copyTable est le véritable couteau suisse pour dupliquer vos données au sein 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.
distribuée de SAS Viya. Contrairement à un simple renommage, elle crée une copie physique indépendante dans le 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. (CAS). C'est l'outil idéal pour 'figer' un état de vos données après un nettoyage complexe ou pour transformer des colonnes calculées temporaires en colonnes permanentes. Elle permet également de changer le format de stockage (compression) ou la distribution des lignes sur les nœuds du serveur. Considérez-la comme le bouton 'Enregistrer sous...' de votre 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.
vive CAS, mais en beaucoup plus puissant ! Un petit tour de magie pour vos données, sans avoir besoin de sortir les lapins du chapeau.

Syntaxe Officielle
table.copyTable /
casout={caslib="nom-bibliothèque", compress=true|false, label="label-table", name="nom-table-copie", promote=true|false, replace=true|false},
distributeRows=true|false,
table={caslib="bibliothèque-source", name="nom-table-source", where="expression-filtre", vars={"variables-à-copier"}}

Paramètres Clés

Nom du paramètre Description
table Spécifie les paramètres de la table source à copier. C'est ici que vous définissez l'original, y compris d'éventuels filtres via le paramètre 'where' ou une sélection de variables spécifiques.
casout Définit les propriétés de la table de sortie. Vous pouvez choisir son nom, sa bibliothèque de destination, activer la compression ou encore la promouvoir pour qu'elle soit visible par tous les utilisateurs de l'environnement.
distributeRows Si positionné à True, force CAS à redistribuer les lignes de la table sur les différents workers lors de la copie. Utile pour optimiser l'équilibrage de charge si la table source était mal répartie.
computedVars Permet de créer de nouvelles colonnes 'à la volée' pendant la copie en utilisant la logique SAS. Ces colonnes deviennent alors physiques dans la table cible.

Préparation des données

Préparation des données de test

Création d'une table CAS simple basée sur les données d'exemple SASHELP.CARS pour illustrer la copie.

1PROC CAS;
2 datastep.runCode /
3 code="data casuser.source_data; set sashelp.cars; run;";
4RUN;

Exemples d'utilisation

Copie simple d'une table

Une duplication basique de la table 'source_data' vers 'target_data' dans la même bibliothèque.

1PROC CAS;
2 TABLE.copyTable / TABLE={name="source_data"}, casout={name="target_data", replace=true};
3RUN;
Résultat Attendu :
Une nouvelle table nommée target_data est créée en mémoire CAS avec le même contenu que source_data.
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%.

1PROC CAS;
2 TABLE.copyTable /
3 TABLE={name="source_data", where="Type='Luxury'",
4 computedVars={{name="PowerWeightRatio"}},
5 computedVarsProgram="PowerWeightRatio = Horsepower / Weight;"},
6 casout={name="luxury_cars_compressed",
7 label="Voitures de luxe avec ratio puissance",
8 compress=true,
9 replace=true};
10RUN;
Résultat Attendu :
Une table compressée contenant uniquement les véhicules de luxe, incluant une nouvelle colonne calculée PowerWeightRatio.
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).

1PROC CAS;
2 TABLE.copyTable / TABLE={name="source_data"}, casout={caslib="Public", name="shared_data", promote=true, replace=true};
3RUN;
Résultat Attendu :
La table est copiée dans la caslib Public et devient une table globale accessible par d'autres sessions.