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...