26 marzo 2021 821 palabras, 4 min. read Última actualización : 8 noviembre 2021

Indicadores ETL: ¿cuánto se tarda en procesar mil millones de líneas?

Por Pierre-Nicolas Schwab Doctor en marketing, director de IntoTheMinds
En un artículo anterior, destaqué la importancia de la velocidad de procesamiento cuando se elige una solución de preparación de datos (ETL). Creé un benchmark inicial entre Alteryx, Tableau Prep, y Anatella en un archivo con 108 millones de líneas. Esta […]

En un artículo anterior, destaqué la importancia de la velocidad de procesamiento cuando se elige una solución de preparación de datos (ETL). Creé un benchmark inicial entre Alteryx, Tableau Prep, y Anatella en un archivo con 108 millones de líneas. Esta vez he repetido la operación con 1.039 billones de líneas y he añadido Talend al benchmark. Los resultados han sido inesperados ya que la velocidad de procesamiento varía en un factor de 1 a 20.

AVANCE: sigue con nosotros. En mi próximo artículo te enseñaré un truco para aumentar la velocidad de procesamiento en un factor de 10.

crédits : Shutterstock

Introducción

En términos de preparación de datos, la velocidad es, en mi opinión, uno de los factores diferenciadores de las soluciones tipo «ETL». Muchas operaciones de preparación de datos se hacen siempre con archivos extraídos de sistemas de información, pero manejar archivos de gran tamaño puede hacer que la tarea de preparar los datos se vuelva de lo más laboriosa con mucha rapidez.

En mi primera prueba, mostré una diferencia del 39% en el tiempo de procesamiento entre Alteryx y Anatella para un archivo de 108 millones de líneas. El proceso fue muy directo: abrir un archivo plano (CSV) y clasificar la primera columna. Ahora pasaremos al siguiente nivel con un archivo plano de mil millones de líneas (¡casi 50 Gb!).


crédits : Shutterstock

Metodología

Para esta prueba preparé un archivo CSV con 1.039 billones de líneas y 9 columnas. El archivo «pesaba» 48 Gb y lo guardé todo en un disco duro estándar.

Desarrollé un proceso de preparación de datos directo y consistente en 3 pasos:

  • Abrir el archivo CSV
  • Ordenar de manera descendente la primera columna
  • Agrupar según los valores de la columna 7 (que solo contenía 0 o 1)

Para este benchmark, comparé 4 soluciones de preparación de datos ampliamente conocidas:

  • Talend Open Studio v7.3.1
  • Anatella v2.35
  • Tableau Prep 2020.2.1
  • Alteryx 2020.1

Llevé a cabo todas las pruebas en un ordenador de sobremesa equipado con 96 Gb de RAM y un procesador i7 de séptima generación.

Los datos se guardaron en un 6TB Western Digital HDD.



La solución ETL en primera posición es 19 veces más rápida que la que ocupa el último puesto.



Resultados

Los resultados son bastante sorprendentes y no me los esperaba en lo más mínimo. Realicé pruebas con conjuntos de datos más pequeños y observé que el tiempo de procesamiento no es lineal.

Solución Tiempo de procesamiento (segundos)
Alteryx 2.290
Talend 13.954
Anatella 730
Tableau Prep 2.526

A continuación encontrarás las capturas de pantalla de los distintos canales y los tiempos de procesamiento asociados.

Los resultados de esta prueba fueron sorprendentes, ya que podemos ver una enorme diferencia en procesos parecidos.

La solución más eficaz es Anatella v2.35, propuesta por Timi. El procesamiento se realiza en tan solo 730 segundos.

La solución más lenta es Talend Open Studio v7.3.1; tarda más de 4 horas en procesar el mismo conjunto de datos. ¡Por lo tanto, Talend Studio es 19 veces más lento que Anatella! Imagina al pobre ingeniero de datos que tiene que trabajar con Talend Studio. Empieza a procesar sus datos por la mañana y puede empezar a trabajar con ellos cuando vuelve de la pausa para comer, a eso de la 1 pm.

El segundo y tercer puesto en la clasificación están ocupados respectivamente por Alteryx y Tableau Prep, cuya eficacia solo tiene una diferencia de +/- 4 minutos.


Processing 1 bn line in Tableau Prep

Resultado del procesamiento de un conjunto de datos de mil millones de líneas con Tableau Prep


processing 1 bn Talend

Procesando mil millones de líneas usando Talend Open Studio.


processing 1 bn Alteryx

Procesamiento de un conjunto de datos de mil millones de líneas con Alteryx.


processing of one billion rows in anatella

Línea de pruebas para procesar mil millones de líneas con Anatella.



crédits : Shutterstock

Conclusión

Las diferencias entre las distintas soluciones probadas son enormes. Estamos hablando de un factor de 20 entre la solución más eficaz y la que peores resultados ha obtenido.

Esto destaca la importancia de la velocidad de procesamiento en el proceso de preparación de datos. Las soluciones que trabajan en un modo «Sin código» están muy lejos de ser optimizadas del mismo modo, lo que hace que el trabajo de los ingenieros de datos pueda verse muy influenciado y, en consecuencia, ralentizado.

Sin embargo, existen soluciones para acelerar el procesamiento (uso de un formato propio como entrada, almacenar los datos en un disco SSD en lugar de uno HDD). Estos cambios serán sujetos a una prueba futura en la que destacaremos los márgenes de progreso de cada uno de los ETL probados.

 



Posted in Data y IT.

Publique su opinión

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *