El script comienza con una fase de limpieza usando `PROC DELETE` para eliminar posibles tablas de prueba (`testblkld1`, `testblkld2`) en la librería `mydblib`. Luego, se crea un conjunto de datos de trabajo (`work.testblkld`) en memoria con datos especificados directamente en el script (`cards`). Finalmente, los datos de `work.testblkld` se cargan masivamente en la base de datos Greenplum usando dos enfoques distintos: el primero a través de una instrucción `CREATE TABLE AS SELECT` en `PROC SQL` con las opciones `BULKLOAD` activadas directamente en la tabla objetivo, y el segundo a través de un paso `DATA` que también utiliza las opciones `BULKLOAD` al declarar la tabla objetivo `mydblib.testblkld2`.
Análisis de datos
Type : CREATION_INTERNE
El conjunto de datos fuente `work.testblkld` se crea directamente en el script SAS a través de un paso `DATA` y la instrucción `cards;` para definir los datos en línea. Las tablas objetivo `mydblib.testblkld1` y `mydblib.testblkld2` son tablas externas en una base de datos Greenplum, pero los datos fuente son internos al script.
1 Bloque de código
PROC DELETE
Explicación : Estos `PROC DELETE` se utilizan para eliminar las tablas `testblkld1` y `testblkld2` de la librería `mydblib` si existen. Esto asegura un entorno limpio para la ejecución del script y evita errores de creación de tablas existentes. `mydblib` es una librería SAS/ACCESS conectada a una base de datos externa.
Explicación : Este paso `DATA` crea un conjunto de datos temporal llamado `work.testblkld`. Contiene cuatro variables: `name` (carácter), `age` (numérico), `sex` (carácter) y `bdate` (numérico, formateado como una fecha SAS a partir de un formato `mmddyy.`). Los datos se proporcionan en línea a través de la instrucción `cards;`, lo que significa que el conjunto de datos se crea directamente a partir de los valores especificados en el script.
¡Copiado!
data work.testblkld;
input name $ age sex $ bdate mmddyy.;
cards;
amy 3 f 030185
bill 12 m 121277
charlie 35 m 010253
david 19 m 101469
elinor 42 f 080845
pearl 78 f 051222
vera 96 f 101200
frank 24 m 092663
georgia 1 f 040687
henry 46 m 053042
joann 27 f 020461
buddy 66 m 101432
;
run;
1
DATA work.testblkld;
2
INPUT name $ age sex $ bdate mmddyy.;
3
CARDS;
4
amy 3 f 030185
5
bill 12 m 121277
6
charlie 35 m 010253
7
david 19 m 101469
8
elinor 42 f 080845
9
pearl 78 f 051222
10
vera 96 f 101200
11
frank 24 m 092663
12
georgia 1 f 040687
13
henry 46 m 053042
14
joann 27 f 020461
15
buddy 66 m 101432
16
;
17
RUN;
3 Bloque de código
PROC SQL
Explicación : Este bloque utiliza `PROC SQL` para crear una nueva tabla `testblkld1` en la librería `mydblib` (que representa la conexión a Greenplum). La opción `BULKLOAD=YES` activa la carga masiva. Las opciones `BL_PORT`, `BL_HOST` y `BL_PROTOCOL="gpfdist"` son parámetros específicos para la configuración del protocolo GPFDIST de Greenplum, permitiendo una transferencia de datos optimizada. `bl_format='CSV'` especifica el formato de los datos enviados. La tabla se crea seleccionando todas las columnas del conjunto de datos `work.testblkld`.
¡Copiado!
proc sql;
create table mydblib.testblkld1
(BULKLOAD=YES
BL_PORT=&port
BL_HOST=&host
BL_PROTOCOL="gpfdist"
bl_format='CSV')
as select * from work.testblkld;
quit;
1
PROC SQL;
2
create TABLE mydblib.testblkld1
3
(BULKLOAD=YES
4
BL_PORT=&port
5
BL_HOST=&host
6
BL_PROTOCOL="gpfdist"
7
bl_format='CSV')
8
as select * from work.testblkld;
9
QUIT;
4 Bloque de código
DATA STEP
Explicación : Este bloque utiliza un paso `DATA` para crear la tabla `testblkld2` en la librería `mydblib`. Como en el ejemplo `PROC SQL`, las opciones `BULKLOAD=YES`, `BL_PORT`, `BL_HOST` y `BL_PROTOCOL="gpfdist"` se especifican directamente en la instrucción `DATA` para la tabla objetivo, activando así la carga masiva hacia Greenplum. La instrucción `set work.testblkld;` indica que los datos a cargar provienen del conjunto de datos temporal `work.testblkld` creado previamente.
¡Copiado!
data mydblib.testblkld2 (
BULKLOAD=YES
BL_PORT=&port
BL_HOST=&host
BL_PROTOCOL="gpfdist"
);
set work.testblkld;
run;
1
DATA mydblib.testblkld2 (
2
BULKLOAD=YES
3
BL_PORT=&port
4
BL_HOST=&host
5
BL_PROTOCOL="gpfdist"
6
);
7
SET work.testblkld;
8
RUN;
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 : SAS SAMPLE LIBRARY, NAME: bulkload.sas, TITLE: Sample Programs, PRODUCT: SAS/ACCESS to Greenplum, SYSTEM: z/OS, UNIX, WINDOWS, REF: SAS/ACCESS 9 for Relational Databases: Reference
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.