我想将数据从Redshift db卸载到S3存储桶,该存储桶随后将用于复制到另一个数据库中。我的DAG编写如下:
from airflow.operators import RedshiftToS3Transfer
from datetime import datetime, timedelta
from airflow import DAG
default_args = {
'owner': 'me',
'start_date': datetime.today(),
'max_active_runs': 1,
}
dag = DAG(dag_id='redshift_S3',
default_args=default_args,
schedule_interval="@once",
catchup=False
)
unload_to_S3 = RedshiftToS3Transfer(
task_id='unload_to_S3',
schema='schema_name',
table='table_name',
s3_bucket='bucket_name',
s3_key='s3_key',
redshift_conn_id='redshift',
aws_conn_id='my_s3_conn',
dag=dag
)
但是我收到一个错误消息:“ DAG损坏:无法从'airflow.operators'(未知位置)导入名称'RedshiftToS3Transfer'”。任何有关如何导入RedshiftToS3Transfer的想法都将有所帮助。
答案 0 :(得分:2)
正确的导入方法是
从airflow.operators.redshift_to_s3_operator导入RedshiftToS3Transfer