ETL 与 ELT 流水线入门

Python 中的 ETL 与 ELT

Jake Roach

Data Engineer

$$

商业智能、机器学习和 AI 的图示。

Python 中的 ETL 与 ELT

数据流水线

…用于将数据从来源移动到目标,并在过程中进行转换。

$$

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

Python 中的 ETL 与 ELT

ETL

  • 抽取、转换、加载
  • 传统的数据流水线范式
  • 来源可为表格或非表格
  • 可用 Python 与 pandas 处理

$$

$$

$$

$$

ELT

  • 抽取、加载、转换
  • 更新的范式
  • 依托数据仓库
  • 通常为表格数据
Python 中的 ETL 与 ELT

抽取、转换、加载(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
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};
    """)

# 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")
Python 中的 ETL 与 ELT

我们还将了解…

$$

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

Python 中的 ETL 与 ELT

让我们一起练习吧!

Python 中的 ETL 与 ELT

Preparing Video For Download...