ETL 与 ELT 流水线简介

使用 Python 的 ETL 和 ELT

Jake Roach

Data Engineer

$$

商业智能、机器学习与人工智能的图示。

使用 Python 的 ETL 和 ELT

数据流水线

……负责将数据从源端移动到目标端,并在过程中进行转换。

$$

数据流水线的来源与目标。

使用 Python 的 ETL 和 ELT

ETL

  • 提取,转换,加载
  • 传统的数据流水线模式
  • 源可为表格或非表格
  • 使用 Python 与 pandas

$$

$$

$$

$$

ELT

  • 提取,加载,转换
  • 较新的模式
  • 数据仓库
  • 通常为表格数据
使用 Python 的 ETL 和 ELT

提取、转换、加载(ETL)

def load(data_frame, target_table):
    # 一些自定义的 Python 逻辑,将数据加载到 SQL
    data_frame.to_sql(name=target_table, con=POSTGRES_CONNECTION)
    print(f"Loading data to the {target_table} table")

# 现在运行数据流水线
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
使用 Python 的 ETL 和 ELT

提取、加载、转换(ELT)

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

# 与 ETL 流水线类似,依次调用提取、加载和转换函数
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")
使用 Python 的 ETL 和 ELT

我们还将了解……

$$

展示课程后续主题的图示。

使用 Python 的 ETL 和 ELT

让我们来练习!

使用 Python 的 ETL 和 ELT

Preparing Video For Download...