Saltar a contenido

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:
MentalModel.png
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

  1. 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
  2. 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 (GG.pngBig 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
  3. Polars && MariaDB
    Ejemplo básico de lectura y escritura de una tabla en MariaDB/MySQL con Polars
  4. SuperPower Polars Joins
    Ejemplo continuación del anterior cuyo objetivo es mostrar las posibilidades resultantes de integrar Apache Arrow, Polars y SQL
  5. 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(GG.pngRow-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
  6. 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
  7. 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