Carga

Introducción a la ingeniería de datos

Vincent Vankrunkelsven

Data Engineer @ DataCamp

Bases de datos para analítica o aplicaciones

Analítica

Icono que representa analítica

  • Consultas agregadas
  • Procesamiento analítico en línea (OLAP)

Aplicaciones

Icono que representa aplicaciones

  • Muchas transacciones
  • Procesamiento de transacciones en línea (OLTP)
Introducción a la ingeniería de datos

Orientación por columnas y por filas

Analítica

  • Orientada a columnas

Ejemplo de almacenamiento por columnas

  • Consultas sobre subconjunto de columnas
  • Paralelización

Aplicaciones

  • Orientada a filas

Ejemplo de almacenamiento por filas

  • Almacenada por registro
  • Añadida por transacción
  • P. ej., añadir un cliente es rápido
Introducción a la ingeniería de datos

Bases de datos MPP

Bases de datos de procesamiento masivo en paralelo

Diagrama de base de datos MPP

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Introducción a la ingeniería de datos

Un ejemplo: Redshift

Carga desde archivo a formato columnar

# Método .to_parquet() de Pandas
df.to_parquet("./s3://path/to/bucket/customer.parquet")
# Método .write.parquet() de PySpark
df.write.parquet("./s3://path/to/bucket/customer.parquet")
COPY customer
FROM 's3://path/to/bucket/customer.parquet'
FORMAT as parquet
...
Introducción a la ingeniería de datos

Cargar en PostgreSQL

pandas.to_sql()

# Transformación de datos
recommendations = transform_find_recommendatins(ratings_df)

# Cargar en base de datos PostgreSQL
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Introducción a la ingeniería de datos

¡Vamos a practicar!

Introducción a la ingeniería de datos

Preparing Video For Download...