Building Batch Data Pipelines

Introduction to Building Batch Data Pipelines

EL (Extraer y Cargar)

Este proceso corresponde a las acciones de extraer y cargar los datos, por lo tanto, se puede aplicar cuando los datos están listos para ser procesados desde el origen, es decir que la fuente y el objetivo tienen el mismo esquema, y no requiere transformaciones.

¿Cuándo aplicar el sistema EL?

Este sistema se aplica únicamente cuando los datos ya están limpios y en el formato correcto. Por ejemplo, llevar datos desde Google Cloud Storage hacia el almacenamiento de Big Query, no requiere una transformación.

ELT (Extraer, Cargar y Transformar)

Carga lo datos sin procesar directamente en el almacenamiento para que sean transformados solamente si es necesario. Puede realizar esta transformación solamente si el usuario o el sistema lo requieren.

¿Cuándo aplicar ELT?

Un caso común es cuando no se sabe que se necesitan tipos de transformaciones para que los datos sean utilizables. Por ejemplo, digamos que alguien sube una nueva imagen. Invoca la API de Cloud Vision y vuelve un mensaje JSON largo sobre todo tipo de cosas en la imagen: texto en la imagen, si hay un hito, un logo. ¿Qué objetos? ¿Qué necesitará un analista en el futuro? No lo sabes. Por lo tanto, almacena el JSON sin procesar, es decir tal como está. Más tarde, si alguien quiere contar la cantidad de veces que los logotipos de una empresa específica están en este conjunto de imágenes, pueden extraer logotipos del JSON y luego contarlos.

Consideraciones de calidad

Las consideraciones son independientes la una de la otra y son: Validez, precisión, completitud, coherencia y uniformidad. Cualquier falla en estas consideraciones es capaz de ocasionar problemas y perdidas en el área comercial.

ETL Extraer, Transformar y Cargar

Es un proceso de integración de datos en el que la transformación tiene lugar en un servicio intermedio antes de que se cargue en el destino. Por ejemplo, los datos podrían transformarse en Cloud Dataflow antes de cargarse en BigQuery.

¿Cuándo utilizar ETL?

1. Cuando es necesario controlar la calidad, transformar o enriquecer los datos sin procesar antes de cargarlos en BigQuery. También cuando las transformaciones son difíciles de hacer en SQL.

Cloud Dataproc y Cloud Dataflow

Se pueden usar para pipelines ETL más complejas.

Cloud Dataproc

Se basa en Apache Hadoop y requiere una gran experiencia en Hadoop para aprovecharlo directamente.

Cloud Data Fusion

Proporciona una interfaz gráfica fácil de usar para crear pipelines ETL que luego se pueden implementar fácilmente a escala en clústeres de Cloud Dataproc.

Cloud Dataflow

Es un servicio de procesamiento de datos sin servidor totalmente administrado basado en Apache Beam que admite canalizaciones de procesamiento de datos por lotes y de transmisión.

Soluciones que una ETL genera

1. Latencia y rendimiento. Las consultas de BigQuery están sujetas a una latencia del orden de unos cientos de milisegundos y puede transmitir en el orden de un millón de filas por segundo a una tabla de BigQuery que solía ser de 100.000 filas, pero recientemente se elevó a 1 millón por proyecto. El número de latencia típico citado para BigQuery es del orden de un segundo, pero con el motor de BI es posible obtener una latencia del orden de 100 milisegundos. Siempre debe consultar la documentación y las páginas de soluciones para conocer los valores más recientes. Si tus consideraciones de latencia y rendimiento son más estrictas, entonces Cloud Bigtable podría ser un mejor receptor para tus canalizaciones de procesamiento de datos.

  • Paulette Parra
  • Diego Paz
  • Pablo Zuñiga

Conoce más:

Registrate en el programa de Data Engineering en GCP.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store