Publié le :
ETL CREATION_INTERNE

Exemple TPT SAS/ACCESS Teradata

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le programme illustre comment configurer une libname SAS©/ACCESS pour Teradata avec l'option TPT, et comment l'utiliser avec PROC APPEND et PROC SQL pour des chargements rapides. Il présente différentes options TPT comme 'fastload', 'multistmt' et 'multiload' pour optimiser les performances de chargement. Le script inclut également des étapes de création de données temporaires et de suppression de tables pour la démonstration.
Analyse des données

Type : CREATION_INTERNE


Les données source ('work.test') utilisées pour le chargement sont créées directement dans le script via des DATA STEPS. La destination est une base de données Teradata externe, connectée via une libname SAS/ACCESS.

1 Bloc de code
LIBNAME
Explication :
Définit une bibliothèque SAS (`mybulk`) pour se connecter à une base de données Teradata en utilisant SAS/ACCESS. L'option `tpt=yes` active le Teradata Parallel Transporter pour des chargements de données en masse plus efficaces. Les macro-variables `&dbms` et `&CONNOPT` sont supposées être définies en amont pour la connexion à la base de données.
Copié !
1LIBNAME mybulk &dbms &CONNOPT tpt=yes;
2 Bloc de code
PROC DELETE
Explication :
Supprime les tables 'test1' et 'test2' de la base de données Teradata (`mybulk`) si elles existent, assurant un environnement propre pour la démonstration.
Copié !
1 
2PROC DELETE
3DATA=mybulk.test1;
4 
5RUN;
6PROC DELETE
7DATA=mybulk.test2;
8 
9RUN;
10 
3 Bloc de code
DATA STEP Data
Explication :
Crée un jeu de données temporaire SAS nommé 'work.test' avec une seule observation où la variable 'x' a la valeur 1. Ce jeu de données sert de source pour les opérations de chargement.
Copié !
1DATA work.test;
2 x=1; OUTPUT;
3RUN;
4 Bloc de code
PROC APPEND
Explication :
Ajoute les données du jeu de données SAS 'work.test' à la table Teradata 'mybulk.test1'. L'option `tpt=yes` active TPT et `fastload=yes` indique d'utiliser le mode de chargement rapide de TPT, qui est généralement plus performant pour de grands volumes de données.
Copié !
1 
2PROC APPEND base=mybulk.test1 (tpt=yes fastload=yes)
3 
4DATA=work.test;
5RUN;
6 
5 Bloc de code
PROC DELETE
Explication :
Supprime la table 'test1' de Teradata avant de la recréer avec PROC SQL.
Copié !
1PROC DELETE DATA=mybulk.test1; RUN;
6 Bloc de code
PROC SQL
Explication :
Crée une nouvelle table Teradata 'mybulk.test2' à partir du jeu de données SAS 'work.test' en utilisant PROC SQL. Les options `tpt=yes` et `fastload=yes` sont appliquées au moment de la création pour un chargement efficace des données.
Copié !
1PROC SQL;
2 create TABLE mybulk.test2 (tpt=yes fastload=yes) as
3 select * from work.test;
4QUIT;
7 Bloc de code
DATA STEP Data
Explication :
Recrée le jeu de données temporaire SAS 'work.test' avec cinq observations (x de 1 à 5). Ce jeu de données mis à jour sera utilisé pour démontrer d'autres options TPT.
Copié !
1DATA work.test;
2 x=1; OUTPUT;
3 x=2; OUTPUT;
4 x=3; OUTPUT;
5 x=4; OUTPUT;
6 x=5; OUTPUT;
7RUN;
8 Bloc de code
PROC SQL
Explication :
Crée la table Teradata 'mybulk.test1' à partir de 'work.test' en utilisant PROC SQL avec les options TPT `tpt=yes` et `fastload=yes` pour un chargement rapide.
Copié !
1PROC SQL;
2 create TABLE mybulk.test1 (tpt=yes fastload=yes)
3 as select * from work.test;
4QUIT;
9 Bloc de code
PROC DELETE
Explication :
Supprime la table 'test1' de Teradata avant de la recréer avec l'option 'multistmt'.
Copié !
1PROC DELETE DATA=mybulk.test1; RUN;
10 Bloc de code
PROC SQL
Explication :
Crée la table Teradata 'mybulk.test1' avec l'option TPT `multistmt=yes`, qui peut améliorer les performances en combinant plusieurs instructions SQL en une seule transaction TPT.
Copié !
1PROC SQL;
2 create TABLE mybulk.test1 (tpt=yes multistmt=yes)
3 as select * from work.test;
4QUIT;
11 Bloc de code
PROC DELETE
Explication :
Supprime la table 'test1' de Teradata avant de la recréer avec l'option 'multiload'.
Copié !
1PROC DELETE DATA=mybulk.test1; RUN;
12 Bloc de code
PROC SQL
Explication :
Crée la table Teradata 'mybulk.test1' avec l'option TPT `multiload=yes`, une autre technique d'optimisation de TPT pour le chargement de données en parallèle.
Copié !
1PROC SQL;
2 create TABLE mybulk.test1 (tpt=yes multiload=yes)
3 as select * from work.test;
4QUIT;
13 Bloc de code
PROC DELETE
Explication :
Effectue un nettoyage final en supprimant les tables 'test1' et 'test2' créées dans Teradata pendant la démonstration.
Copié !
1 
2PROC DELETE
3DATA=mybulk.test1;
4 
5RUN;
6PROC DELETE
7DATA=mybulk.test2;
8 
9RUN;
10 
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : NAME: tpt.sas TITLE: Sample Programs PRODUCT: SAS/ACCESS to Teradata SYSTEM: z/OS, UNIX, WINDOWS REF: SAS/ACCESS 9 for Relational Databases: Reference