Chargement

Introduction à l'ingénierie des données

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 à l'ingénierie des données

Orienté colonnes vs orienté lignes

Analytique

  • Orienté colonnes

Exemple d'entreposage orienté colonnes

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

Applications

  • Orienté lignes

Exemple d'entreposage orienté lignes

  • Stocké par enregistrement
  • Ajouté par transaction
  • P. ex., ajouter un client est rapide
Introduction à l'ingénierie des données

Bases de données MPP

Bases MPP (traitement massivement parallèle)

Schéma d'une base MPP

 

  • Amazon Redshift
  • Azure SQL Data Warehouse
  • Google BigQuery
Introduction à l'ingénierie des données

Exemple : Redshift

Charger d'un fichier vers un format de stockage en colonnes

# 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 à l'ingénierie des données

Charger vers PostgreSQL

pandas.to_sql()

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

# Charger dans la base PostgreSQL
recommendations.to_sql("recommendations",
                       db_engine,
                       schema="store",
                       if_exists="replace")
Introduction à l'ingénierie des données

Passons à la pratique !

Introduction à l'ingénierie des données

Preparing Video For Download...