Amazon S3 到 Amazon Redshift¶
使用 S3ToRedshiftOperator
传输操作符将数据从 Amazon Simple Storage Service (S3) 文件复制到 Amazon Redshift 表中。
先决条件任务¶
要使用这些操作符,您必须执行以下几项操作
通过 pip 安装 API 库。
pip install 'apache-airflow[amazon]'详细信息请参考 Airflow® 的安装
设置连接.
操作符¶
Amazon S3 到 Amazon Redshift 传输操作符¶
此操作符将数据从 Amazon S3 加载到现有的 Amazon Redshift 表中。
要获取有关此操作符的更多信息,请访问:S3ToRedshiftOperator
使用示例
tests/system/amazon/aws/example_redshift_s3_transfers.py
transfer_s3_to_redshift = S3ToRedshiftOperator(
task_id="transfer_s3_to_redshift",
redshift_data_api_kwargs={
"database": DB_NAME,
"cluster_identifier": redshift_cluster_identifier,
"db_user": DB_LOGIN,
"wait_for_completion": True,
},
s3_bucket=bucket_name,
s3_key=S3_KEY_2,
schema="PUBLIC",
table=REDSHIFT_TABLE,
copy_options=["csv"],
)
摄取多个键的示例
tests/system/amazon/aws/example_redshift_s3_transfers.py
transfer_s3_to_redshift_multiple = S3ToRedshiftOperator(
task_id="transfer_s3_to_redshift_multiple",
redshift_data_api_kwargs={
"database": DB_NAME,
"cluster_identifier": redshift_cluster_identifier,
"db_user": DB_LOGIN,
"wait_for_completion": True,
},
s3_bucket=bucket_name,
s3_key=S3_KEY_PREFIX,
schema="PUBLIC",
table=REDSHIFT_TABLE,
copy_options=["csv"],
)
您可以在此处找到有关使用的 COPY
命令的更多信息。