Введение в конвейеры ETL и ELT

ETL и ELT в Python

Jake Roach

Data Engineer

$$

Схема бизнес-аналитики, машинного обучения и ИИ.

ETL и ELT в Python

Конвейеры данных

...отвечают за перемещение данных из источника в место назначения, преобразовывая их по пути.

$$

Источники и места назначения конвейера данных.

ETL и ELT в Python

ETL

  • Извлечение, преобразование, загрузка
  • Традиционный шаблон проектирования конвейеров данных
  • Источники могут быть табличными или нетабличными
  • Используется Python с pandas

$$

$$

$$

$$

ELT

  • Извлечение, загрузка, преобразование
  • Более новый подход
  • Хранилища данных
  • Обычно табличные данные
ETL и ELT в Python

Извлечение, преобразование, загрузка (ETL)

def load(data_frame, target_table):
    # Some custom-built Python logic to load data to SQL
    data_frame.to_sql(name=target_table, con=POSTGRES_CONNECTION)
    print(f"Loading data to the {target_table} table")

# Now, run the data pipeline
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 и ELT в Python

Извлечение, загрузка, преобразование (ELT)

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

# Similar to ETL pipelines, call the extract, load, and transform functions
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 и ELT в Python

Также мы рассмотрим...

$$

Схема, показывающая темы, которые будут рассмотрены далее в курсе.

ETL и ELT в Python

Давайте потренируемся!

ETL и ELT в Python

Preparing Video For Download...