使用 Python 的 ETL 和 ELT
Jake Roach
Data Engineer
本课程涵盖:
数据还来自:
Parquet 文件:
import pandas as pd
# 读取 parquet 文件到内存
raw_stock_data = pd.read_parquet("raw_stock_data.parquet", engine="fastparquet")
pandas DataFrameimport sqlalchemy
import pandas as pd
# 连接 URI: schema_identifier://username:password@host:port/db
connection_uri = "postgresql+psycopg2://repl:password@localhost:5432/market"
db_engine = sqlalchemy.create_engine(connection_uri)
# 查询 SQL 数据库
raw_stock_data = pd.read_sql("SELECT * FROM raw_stock_data LIMIT 10", db_engine)
将逻辑拆分为函数
def extract_from_sql(connection_uri, query):
# 创建引擎,查询数据并返回 DataFrame
db_engine = sqlalchemy.create_engine(connection_uri)
return pd.read_sql(query, db_engine)
extract_from_sql("postgresql+psycopg2://.../market", "SELECT ... LIMIT 10;")
使用 Python 的 ETL 和 ELT