Выгрузить данные из Redshift на S3 с помощью Airflow

Я хотел бы выгрузить данные из базы данных Redshift в корзину 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
)

Но я получаю сообщение об ошибке "Broken DAG: невозможно импортировать имя" RedshiftToS3Transfer "из" airflow.operators "(неизвестное местоположение)". Любая идея о том, как импортировать RedshiftToS3Transfer, будет полезна.

1 ответ

Решение

Правильный способ импортировать это

из airflow.operators.redshift_to_s3_operator import RedshiftToS3Transfer

Другие вопросы по тегам