SQL 到 Amazon S3¶
使用 SqlToS3Operator
将数据从 SQL 服务器复制到 Amazon Simple Storage Service (S3) 文件中。SqlToS3Operator
与任何 SQL 连接兼容,只要该 SQL hook 具有将 SQL 结果转换为 pandas dataframe 的函数(例如 MySQL、Hive 等)。
先决条件任务¶
要使用这些操作符,您需要完成以下几项:
使用 AWS Console 或 AWS CLI 创建必要的资源。
通过 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
类型的值,该值将作为 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"},
)