SQL 到 Amazon S3¶
使用 SqlToS3Operator
将数据从 SQL 服务器复制到 Amazon 简单存储服务 (S3) 文件。SqlToS3Operator
与任何 SQL 连接兼容,只要 SQL 钩子具有将 SQL 结果转换为 pandas 数据帧(例如 MySQL、Hive 等)的函数。
先决条件任务¶
要使用这些操作符,您必须执行以下几项操作
通过 pip 安装 API 库。
pip install 'apache-airflow[amazon]'详细信息请参阅 Airflow® 的安装
设置连接.
操作符¶
MySQL 到 Amazon S3 传输操作符¶
此示例将 MySQL 查询的响应发送到 Amazon S3 文件。
要获取有关此操作符的更多信息,请访问: SqlToS3Operator
用法示例
tests/system/amazon/aws/example_sql_to_s3.py
sql_to_s3_task = SqlToS3Operator(
task_id="sql_to_s3_task",
sql_conn_id=conn_id_name,
query=SQL_QUERY,
s3_bucket=bucket_name,
s3_key=key,
replace=True,
)
分组¶
我们可以通过传递 groupby_kwargs
参数来对表中的数据进行分组。此参数接受一个 dict
,该 dict
将作为 kwargs 传递给 pandas groupby()。
用法示例
tests/system/amazon/aws/example_sql_to_s3.py
sql_to_s3_task_with_groupby = SqlToS3Operator(
task_id="sql_to_s3_with_groupby_task",
sql_conn_id=conn_id_name,
query=SQL_QUERY,
s3_bucket=bucket_name,
s3_key=key,
replace=True,
groupby_kwargs={"by": "color"},
)