Chargement

Introduction au data engineering

Vincent Vankrunkelsven

Data Engineer, DataCamp

Bases de données pour l'analytique ou les applications

Analytique

Icône représentant l'analytique

  • Requêtes d'agrégation
  • Traitement analytique en ligne (OLAP)

Applications

Icône représentant des applications

  • Beaucoup de transactions
  • Traitement des transactions en ligne (OLTP)
Introduction au data engineering

Orienté colonnes ou lignes

Analytique

  • Orienté colonnes

Exemple de stockage orienté colonnes

  • Requêtes sur un sous-ensemble de colonnes
  • Parallélisation

Applications

  • Orienté lignes

Exemple de stockage orienté lignes

  • Stocké par enregistrement
  • Ajouté par transaction
  • Par ex. ajouter un client est rapide
Introduction au data engineering

Bases de données MPP

Bases de données Massively Parallel Processing

Schéma d'une base MPP

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Introduction au data engineering

Exemple : Redshift

Charger depuis un fichier vers un format de stockage colonnaire

# Méthode Pandas .to_parquet()
df.to_parquet("s3://path/to/bucket/customer.parquet")
# Méthode PySpark .write.parquet()
df.write.parquet("s3://path/to/bucket/customer.parquet")
COPY customer
FROM 's3://path/to/bucket/customer.parquet'
FORMAT as parquet
...
Introduction au data engineering

Charger vers PostgreSQL

pandas.to_sql()

# Transformation des données
recommendations = transform_find_recommendatins(ratings_df)

# Charger dans une base PostgreSQL
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Introduction au data engineering

Passons à la pratique !

Introduction au data engineering

Preparing Video For Download...