copyTable
Description
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.
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.
| 1 | PROC CAS; |
| 2 | datastep.runCode / |
| 3 | code="data casuser.source_data; set sashelp.cars; run;"; |
| 4 | RUN; |
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.
| 1 | PROC CAS; |
| 2 | TABLE.copyTable / TABLE={name="source_data"}, casout={name="target_data", replace=true}; |
| 3 | RUN; |
Résultat Attendu :
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%.
| 1 | PROC 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}; |
| 10 | RUN; |
Résultat Attendu :
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).
| 1 | PROC CAS; |
| 2 | TABLE.copyTable / TABLE={name="source_data"}, casout={caslib="Public", name="shared_data", promote=true, replace=true}; |
| 3 | RUN; |