SQL 数据帧集成¶
DbApiHook
提供了与流行数据分析框架的内置集成,使您能够直接查询数据库并将结果检索为 Pandas 或 Polars 数据帧。这种集成消除了 SQL 查询结果与数据帧之间手动转换的需求,从而简化了数据工作流程。
Pandas 集成¶
Pandas 是一个广泛使用的数据分析和处理库。SQL hook 允许您将查询结果直接检索为 Pandas 数据帧,这对于在 Airflow 任务中进行进一步的数据转换、分析或可视化特别有用。
# Get complete DataFrame in a single operation
df = hook.get_df(
sql="SELECT * FROM my_table WHERE date_column >= %s", parameters=["2023-01-01"], df_type="pandas"
)
# Get DataFrame in chunks for memory-efficient processing of large results
for chunk_df in hook.get_df_by_chunks(sql="SELECT * FROM large_table", chunksize=10000, df_type="pandas"):
process_chunk(chunk_df)
要使用此功能,请在安装此 provider 包时安装 pandas
extra。有关安装说明,请参阅 <index>。
Polars 集成¶
Polars 是一个现代化的、高性能的 数据帧 库,使用 Rust 实现并提供了 Python 绑定。它专为处理大型数据集时的速度和效率而设计。SQL hook 支持直接将数据检索为 Polars 数据帧,这对于性能关键型数据处理任务特别有利。
# Get complete DataFrame in a single operation
df = hook.get_df(
sql="SELECT * FROM my_table WHERE date_column >= %s",
parameters={"date_column": "2023-01-01"},
df_type="polars",
)
# Get DataFrame in chunks for memory-efficient processing of large results
for chunk_df in hook.get_df_by_chunks(sql="SELECT * FROM large_table", chunksize=10000, df_type="polars"):
process_chunk(chunk_df)
要使用此功能,请在安装此 provider 包时安装 polars
extra。有关安装说明,请参阅 <index>。