Créer des pipelines ETL et ELT

ETL et ELT en Python

Jake Roach

Data Engineer

Extraire des données d'un fichier CSV

import pandas as pd

# Lire le fichier CSV dans un DataFrame
data_frame = pd.read_csv("raw_data.csv")
# Afficher les premières lignes
data_frame.head()
   name         num_firms   total_income
0  Advertising     58         3892.41
1  Apparel         39         5422.69
...
49 Trucking        35         17324.36

read_csv()

  • Prend un chemin de fichier, renvoie un DataFrame
  • delimiter, header, engine

$$

.head()

  • Affiche les n premières lignes d'un DataFrame
ETL et ELT en Python

Filtrer un DataFrame

   name         num_firms   total_income
0  Advertising     58         3892.41
1  Apparel         39         5422.69
...
49 Trucking        35         17324.36

         name         num_firms
      1  Apparel         39
      37 Apparel         61

# D'abord, par lignes
data_frame.loc[data_frame["name"] == "Apparel", :]

# Puis, par colonnes
data_frame.loc[:, ["name", "num_firms"]]

.loc

  • Filtre un DataFrame
  • : signifie « tout »
ETL et ELT en Python

Écrire un DataFrame dans un fichier CSV

# Écrire un DataFrame dans un fichier .csv
data_frame.to_csv("cleaned_data.csv")

.to_csv()

  • Prend un path, crée un DataFrame à partir du fichier à ce path
  • Peut prendre d'autres paramètres pour personnaliser la sortie

$$

Autres options, comme :

.to_json(), .to_excel(), .to_sql()

ETL et ELT en Python

Exécuter des requêtes SQL

data_warehouse.execute(  # Utilisez des clients Python ou d'autres outils pour exécuter des requêtes SQL
    """
    CREATE TABLE total_sales AS 
        SELECT
            ds,
            SUM(sales)
        FROM raw_sales_data
        GROUP BY ds;
    """
)
  • Des outils comme .execute() pour exécuter des requêtes SQL
ETL et ELT en Python

Tout rassembler !

# Définir les fonctions extract(), transform(), et load()
...

def transform(data_frame, value):
    return data_frame.loc[data_frame["name"] == value, ["name", "num_firms"]]

# D'abord, extraire les données d'un .csv
extracted_data = extract(file_name="raw_data.csv")

# Puis, transformer `extracted_data`
transformed_data = transform(data_frame=extracted_data, value="Apparel")

# Enfin, charger `transformed_data`
load(data_frame=transformed_data, file_name="cleaned_data.csv")
ETL et ELT en Python

Passons à la pratique !

ETL et ELT en Python

Preparing Video For Download...