📊 Données Lab 2

📥 Entrées (entrees/)

7 fichiers CSV sources:

FichierLignesColonnesUtilité
user.csv10user_id, gender, birthdateDimension utilisateurs
session.csv10session_id, user_idBridge session → user
product.csv10product_id, brand, category, product_nameProduits
product_name.csv5category, product_name, descriptionDescriptions enrichies
events.csv20event_time, session_id, product_id, event_type, priceÉvénements e-commerce
brand.csv5brand, descriptionMarques
category.csv5category, descriptionCatégories

Total entrées: ~2 KB

Schéma user.csv

user_id,gender,birthdate
1,M,1985-05-15
2,F,1992-03-22
...

Schéma events.csv

event_time,session_id,product_id,event_type,price
2024-12-01 10:30:45,S001,P001,view,
2024-12-01 10:35:22,S001,P001,cart,49.99
2024-12-01 10:40:15,S001,P001,purchase,49.99
...

📤 Sorties (sorties/)

3 formats de la table de faits fact_events:

1. CSV Brut (fact_events_csv/)

Compression: Aucune
Extension: .csv
Colonnes: date_key,user_key,age_key,product_key,brand_key,category_key,session_id,event_time,event_type,price
Lignes: 20
Taille: ~0.0010 MB

2. CSV Snappy (fact_events_csv_snappy/)

Compression: Snappy
Extension: .csv
Colonnes: Identiques au CSV brut
Lignes: 20
Taille: ~0.0008 MB

3. Parquet (fact_events_parquet/)

Compression: Snappy (par défaut)
Extension: .parquet
Colonnes: Identiques
Lignes: 20
Taille: ~0.0005 MB (2x plus petit!)

🔍 Schéma fact_events (Sortie)

ColonneTypeDescription
date_keyINTFK → dim_date (YYYYMMDD)
user_keyINTFK → dim_user
age_keyINTFK → dim_age
product_keyINTFK → dim_product
brand_keyINTFK → dim_brand
category_keyINTFK → dim_category
session_idSTRINGClé métier (identifie la session)
event_timeTIMESTAMPQuand l’événement s’est produit
event_typeSTRINGType: view, cart, purchase, remove
priceDOUBLEMontant (NULL si event_type=view)

Exemple ligne fact_events:

20241201, 1, 5, 3, 2, 1, S001, 2024-12-01T10:40:15.000Z, purchase, 49.99

📊 Statistiques

Comptages

  • Utilisateurs: 10 (dim_user)
  • Groupes d’âge: 10 (dim_age)
  • Marques: 5 (dim_brand)
  • CatĂ©gories: 5 (dim_categorie)
  • Produits: 10 (dim_product)
  • Dates: 4 (2024-12-01 Ă  2024-12-04)
  • ÉvĂ©nements: 20 (fact_events)

Compression

FormatTailleRatio
CSV0.0010 MB2.0x
CSV Snappy0.0008 MB1.6x
Parquet0.0005 MB1.0x

🔄 Reproducibilité

Pour régénérer ces sorties:

# Exécute le notebook
jupyter lab ../notebooks/lab2_assignment.ipynb
 
# Les sorties seront créées dans:
# ../donnees/sorties/

📝 Notes

  • Toutes les donnĂ©es sont fictives (pour fins d’apprentissage)
  • Les dates vont du 1er au 4 dĂ©cembre 2024
  • Les prix sont en euros (EUR)
  • Aucune donnĂ©e personnelle rĂ©elle

Généré par Lab 2 ETL Pipeline Date: Décembre 8, 2025