PythonLab
Muchos data pipelines, los escritos en lenguaje Python mayoritariamente, están basados en DataFrames. La aparición de nuevas herramientas como, entre otras, DuckDB demanda un cambio de modelo mental:

Todos los laboratorios en esta Web, en mayor o menor medida, requieren usar Docker. Por consiguiente, de acuerdo a lo expuesto en Docker4DataEngineers, desplegar y explotar esta tecnologÃa resultarÃa incomparablemente más difÃcil, sino imposible, sin dominar el uso de contenedores lo que demuestra que es una competencia básica para cualquier ingeniero de datos
Laboratorios¶
- Pandas EDA
Esta entrada muestra algunas de las posibilidades que ofrecen los cuadernos Jupyter para llevar a cabo tareas propias del análisis de datos exploratorio. En este caso el dataset objeto de estudio se obtiene como una librerÃa python - Dataframes: Pandas vs Polars vs DuckDB
El segundo laboratorio muestra un cuaderno computacional cuyo objetivo es contrastar tres herramientas esenciales en el análisis de datos con grandes volúmenes de datos (
Big Data Analytics) como son Pandas o Polars (ambos basados en DataFrames) y DuckDB. El cuaderno muestra, entre otros, ejemplos de consulta de datos no estructurados (formato CSV), filtrado y agregado de datos - Polars && MariaDB
Ejemplo básico de lectura y escritura de una tabla en MariaDB/MySQL con Polars - SuperPower Polars Joins
Ejemplo continuación del anterior cuyo objetivo es mostrar las posibilidades resultantes de integrar Apache Arrow, Polars y SQL - Lazy Eval + Parquet
Este ejemplo introduce elementos fundamentales para soportar el desarrollo de Data Stacks eficientes y escalables basados en DataFrames como son el almacenamiento orientado a columnas(
Row-Oriented vs Column-Oriented Data Store) , el particionado de datos (Hive partitioning) y, sobre todo, la ejecución perezosa (Lazy Eval) presentada en el ejemplo anterior. En este tipo de escenario la aportación de un formato de archivos como Parquet resulta incalculable - Arrow + DuckDB
Uno de los datasets más famosos, a la vez que más infumables 🤢🤢, entre los analistas de datos es el que contiene los registros de los servicios de taxis en la ciudad de Nueva York. Estos datos incluyen campos que recogen las fechas y horas de recogida y destino, los lugares de recogida y destino, las distancias recorridas, las tarifas detalladas, los tipos de tarifas, los tipos de pago y el número de pasajeros declarado por el conductor. Si bien los datos fueron recopilados y facilitados a la Comisión de Taxis y Limusinas de Nueva York (TLC) por proveedores de tecnologÃa autorizados en el marco de los Programas de Mejora del Servicio de Taxis y VehÃculos de Alquiler con Conductor (TPEP/LPEP) el resultado dista mucho de ser un conjunto manejable e, incluso, fiable. Es, por esto mismo, que representan un reto formidable para los analistas de todo el mundo
En el cuaderno del ejemplo se muestra un caso de análisis básico que emplea, primero, la integración de Python con Apache Arrow para recopilar los datos y, después, realiza una consulta de análisis con DuckDB - Apache Arrow + Polars + MinIO + Parquet Hive
S3 MinIO es un sistema de almacenamiento de objetos en la nube que se adecúa perfectamente a las caracterÃsticas y necesidades del Data Lakehouse. Esta entrada presenta tres casos de integración que muestran en Arrow y Polars el soporte de S3