Publicado el :
ETL CREATION_INTERNE

Ejemplo TPT SAS/ACCESS Teradata

Este código también está disponible en: Deutsch English Français
En espera de validación
El programa ilustra cómo configurar una libname SAS©/ACCESS para Teradata con la opción TPT, y cómo usarla con PROC APPEND y PROC SQL para cargas rápidas. Presenta diferentes opciones de TPT como 'fastload', 'multistmt' y 'multiload' para optimizar el rendimiento de la carga. El script también incluye pasos para crear datos temporales y eliminar tablas para la demostración.
Análisis de datos

Type : CREATION_INTERNE


Los datos de origen ('work.test') utilizados para la carga se crean directamente en el script a través de DATA STEPS. El destino es una base de datos Teradata externa, conectada a través de una libname SAS/ACCESS.

1 Bloque de código
LIBNAME
Explicación :
Define una librería SAS (`mybulk`) para conectarse a una base de datos Teradata usando SAS/ACCESS. La opción `tpt=yes` activa el Teradata Parallel Transporter para cargas masivas de datos más eficientes. Se asume que las macrovariables `&dbms` y `&CONNOPT` están definidas previamente para la conexión a la base de datos.
¡Copiado!
1LIBNAME mybulk &dbms &CONNOPT tpt=yes;
2 Bloque de código
PROC DELETE
Explicación :
Elimina las tablas 'test1' y 'test2' de la base de datos Teradata (`mybulk`) si existen, asegurando un entorno limpio para la demostración.
¡Copiado!
1 
2PROC DELETE
3DATA=mybulk.test1;
4 
5RUN;
6PROC DELETE
7DATA=mybulk.test2;
8 
9RUN;
10 
3 Bloque de código
DATA STEP Data
Explicación :
Crea un conjunto de datos temporal de SAS llamado 'work.test' con una sola observación donde la variable 'x' tiene el valor 1. Este conjunto de datos sirve como fuente para las operaciones de carga.
¡Copiado!
1DATA work.test;
2 x=1; OUTPUT;
3RUN;
4 Bloque de código
PROC APPEND
Explicación :
Añade los datos del conjunto de datos SAS 'work.test' a la tabla Teradata 'mybulk.test1'. La opción `tpt=yes` activa TPT y `fastload=yes` indica que se use el modo de carga rápida de TPT, que generalmente es más eficiente para grandes volúmenes de datos.
¡Copiado!
1 
2PROC APPEND base=mybulk.test1 (tpt=yes fastload=yes)
3 
4DATA=work.test;
5RUN;
6 
5 Bloque de código
PROC DELETE
Explicación :
Elimina la tabla 'test1' de Teradata antes de recrearla con PROC SQL.
¡Copiado!
1PROC DELETE DATA=mybulk.test1; RUN;
6 Bloque de código
PROC SQL
Explicación :
Crea una nueva tabla Teradata 'mybulk.test2' a partir del conjunto de datos SAS 'work.test' usando PROC SQL. Las opciones `tpt=yes` y `fastload=yes` se aplican en el momento de la creación para una carga eficiente de los datos.
¡Copiado!
1PROC SQL;
2 create TABLE mybulk.test2 (tpt=yes fastload=yes) as
3 select * from work.test;
4QUIT;
7 Bloque de código
DATA STEP Data
Explicación :
Recrea el conjunto de datos temporal SAS 'work.test' con cinco observaciones (x de 1 a 5). Este conjunto de datos actualizado se utilizará para demostrar otras opciones de TPT.
¡Copiado!
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 Bloque de código
PROC SQL
Explicación :
Crea la tabla Teradata 'mybulk.test1' a partir de 'work.test' usando PROC SQL con las opciones TPT `tpt=yes` y `fastload=yes` para una carga rápida.
¡Copiado!
1PROC SQL;
2 create TABLE mybulk.test1 (tpt=yes fastload=yes)
3 as select * from work.test;
4QUIT;
9 Bloque de código
PROC DELETE
¡Copiado!
1PROC DELETE DATA=mybulk.test1; RUN;
10 Bloque de código
PROC SQL
Explicación :
Crea la tabla Teradata 'mybulk.test1' con la opción TPT `multistmt=yes`, que puede mejorar el rendimiento al combinar múltiples instrucciones SQL en una sola transacción TPT.
¡Copiado!
1PROC SQL;
2 create TABLE mybulk.test1 (tpt=yes multistmt=yes)
3 as select * from work.test;
4QUIT;
11 Bloque de código
PROC DELETE
Explicación :
Elimina la tabla 'test1' de Teradata antes de recrearla con la opción 'multiload'.
¡Copiado!
1PROC DELETE DATA=mybulk.test1; RUN;
12 Bloque de código
PROC SQL
Explicación :
Crea la tabla Teradata 'mybulk.test1' con la opción TPT `multiload=yes`, otra técnica de optimización de TPT para la carga de datos en paralelo.
¡Copiado!
1PROC SQL;
2 create TABLE mybulk.test1 (tpt=yes multiload=yes)
3 as select * from work.test;
4QUIT;
13 Bloque de código
PROC DELETE
Explicación :
Realiza una limpieza final eliminando las tablas 'test1' y 'test2' creadas en Teradata durante la demostración.
¡Copiado!
1 
2PROC DELETE
3DATA=mybulk.test1;
4 
5RUN;
6PROC DELETE
7DATA=mybulk.test2;
8 
9RUN;
10 
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información 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