在将CSV文件加载到Redshift表之前,我希望截断我的Redshift表。
错误: airflow.exceptions.AirflowException:无效参数被传递给S3ToRedshiftOperator (task_id: dag_run_s3_to_redshift)。无效的参数是:**kwargs:{‘方法’:‘替换’}
代码下面的:
task_fail_s3_to_redshift =  S3ToRedshiftOperator(
        s3_bucket=S3_BUCKET,
        s3_key="{{ti.xcom_pull(task_ids='export_db',key='FILE_PATH_1')}}",
        schema="dw_stage",
        table="task_fail",
        copy_options=['csv',"IGNOREHEADER 1"],
        redshift_conn_id='redshift',
        method='REPLACE',
        task_id='task_fail_s3_to_redshift',
    ) 
 start >> task_fail_s3_to_redshift >> end 发布于 2022-01-05 20:40:18
method参数是在按下中添加的,如下所示:
apache-airflow-providers-amazon >= 2.4.0您所遇到的错误意味着您使用的是较早版本的amazon提供者,这就是为什么它对您无效的原因。
你的选择是:
1.升级提供程序
pip install apache-airflow-providers-amazon --upgrade2.如果升级不是选项,则使用不推荐的truncate_table参数:
task_fail_s3_to_redshift =  S3ToRedshiftOperator(
        s3_bucket=S3_BUCKET,
        s3_key="{{ti.xcom_pull(task_ids='export_db',key='FILE_PATH_1')}}",
        schema="dw_stage",
        table="task_fail",
        copy_options=['csv',"IGNOREHEADER 1"],
        redshift_conn_id='redshift',
        truncate_table=True,
        task_id='task_fail_s3_to_redshift',
    ) 因为你想要截断选项-它会给你同样的功能。
https://stackoverflow.com/questions/70599221
复制相似问题