Einführung in ETL- und ELT-Pipelines

ETL und ELT mit Python

Jake Roach

Data Engineer

$$

Grafik zu Business Intelligence, Machine Learning und KI.

ETL und ELT mit Python

Datenpipelines

… bewegen Daten von einer Quelle zu einem Ziel und transformieren sie unterwegs.

$$

Quellen und Ziele einer Datenpipeline.

ETL und ELT mit Python

ETL

  • Extract, transform, load
  • Klassisches Designmuster für Datenpipelines
  • Quellen können tabellarisch oder nicht tabellarisch sein
  • Python mit pandas nutzen

$$

$$

$$

$$

ELT

  • Extract, load, transform
  • Neueres Muster
  • Data Warehouses
  • Meist tabellarische Daten
ETL und ELT mit Python

Extract, transform, load (ETL)

def load(data_frame, target_table):
    # Eigene Python-Logik zum Laden in SQL
    data_frame.to_sql(name=target_table, con=POSTGRES_CONNECTION)
    print(f"Loading data to the {target_table} table")

# Jetzt die Pipeline ausführen
extracted_data = extract(file_name="raw_data.csv")
transformed_data = transform(data_frame=extracted_data)
load(data_frame=transformed_data, target_table="cleaned_data")
Extracting data from raw_data.csv
Transforming data to remove 'null' records
Loading data to the cleaned_data table
ETL und ELT mit Python

Extract, load, transform (ELT)

...
def transform(source_table, target_table):
    data_warehouse.run_sql("""
        CREATE TABLE {target_table} AS
          SELECT
              <field-name>, <field-name>, ...
          FROM {source_table};
    """)

# Ähnlich wie bei ETL-Pipelines: Funktionen zum Extrahieren, Laden und Transformieren aufrufen
extracted_data = extract(file_name="raw_data.csv")
load(data_frame=extracted_data, table_name="raw_data")
transform(source_table="raw_data", target_table="cleaned_data")
ETL und ELT mit Python

Wir schauen uns auch an …

$$

Grafik mit Themen, die später im Kurs behandelt werden.

ETL und ELT mit Python

Lass uns üben!

ETL und ELT mit Python

Preparing Video For Download...