Publicado el :
ETL MIXTE

Exploración de la opción BULKLOAD con SAS/ACCESS to Hadoop

En espera de validación
ATTENTION : Ce contenu est DÉSACTIVÉ. Il est invisible pour les visiteurs.
Attention : Este código requiere privilegios de administrador.
El script ilustra el uso de `PROC APPEND` con la interfaz `SAS©/ACCESS to Hadoop`. Ejecuta tres pruebas distintas. La primera utiliza `BULKLOAD=YES` para una carga rápida de la tabla `sashelp.cars`. La segunda realiza la misma operación sin `BULKLOAD` para comparación. La tercera prueba muestra cómo cargar los datos especificando un formato de almacenamiento subyacente, aquí `Parquet`, en Hadoop. Cada prueba es seguida de un paso de limpieza a través de `PROC SQL` para eliminar la tabla creada, haciendo que el script sea re-ejecutable.
Análisis de datos

Type : MIXTE


La fuente de los datos es la tabla `sashelp.cars`, que es una tabla de ejemplo interna de SAS. El destino es una base de datos externa Hadoop, conectada a través de un `libname`. El script no lee datos externos, sino que escribe en ellos.

1 Bloque de código
LIBNAME
Explicación :
Define una conexión a un servidor Hadoop a través de la interfaz SAS/ACCESS to Hadoop. También activa opciones de rastreo (`sastrace`) para registrar información detallada sobre la interacción con la base de datos en el log de SAS.
¡Copiado!
1LIBNAME mycdh hadoop server="quickstart.cloudera" user=cloudera password=cloudera;
2options sastrace=',,,d' sastraceloc=saslog nostsuffix;
3 
2 Bloque de código
PROC APPEND Data
Explicación :
Este bloque carga los datos de la tabla `sashelp.cars` en una nueva tabla `cars` en el servidor Hadoop. La opción `bulkload=yes` activa el modo de carga masiva, optimizado para transferencias de grandes volúmenes de datos. La tabla se elimina posteriormente con `PROC SQL` para limpiar el entorno.
¡Copiado!
1PROC APPEND base=mycdh.cars (bulkload=yes)
2 DATA=sashelp.cars;
3RUN;
4 
5PROC SQL;
6 drop TABLE mycdh.cars;
7QUIT;
3 Bloque de código
PROC APPEND Data
Explicación :
Este bloque realiza la misma carga que el anterior pero sin la opción `bulkload=yes`. Esto permite comparar la diferencia de rendimiento entre una carga estándar (potencialmente línea por línea) y una carga masiva. La tabla se elimina posteriormente.
¡Copiado!
1PROC APPEND base=mycdh.cars
2 DATA=sashelp.cars;
3RUN;
4 
5PROC SQL;
6 drop TABLE mycdh.cars;
7QUIT;
4 Bloque de código
PROC APPEND Data
Explicación :
Este bloque carga de nuevo los datos, pero utiliza la opción `dbcreate_table_opts` para pasar una instrucción específica a Hadoop durante la creación de la tabla. Aquí, solicita que la tabla se almacene en formato de archivo 'Parquet', un formato de almacenamiento columnar de muy alto rendimiento. La tabla se elimina finalmente.
¡Copiado!
1PROC APPEND base=mycdh.cars (dbcreate_table_opts='stored as parquetfile')
2 DATA=sashelp.cars;
3RUN;
4 
5PROC SQL;
6 drop TABLE mycdh.cars;
7QUIT;
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.