Работа с потоком воздуха. Я пробую простую работу с DAG.
Я написал пользовательские операторы и другие файлы, которые я хочу импортировать в основной файл, где находится логика DAG.
Здесь структура папки:
├── airflow.cfg
├── dags
│ ├── __init__.py
│ ├── dag.py
│ └── sql_statements.sql
├── docker-compose.yaml
├── environment.yml
└── plugins
├── __init__.py
└── operators
├── __init__.py
├── facts_calculator.py
├── has_rows.py
└── s3_to_redshift.py
Я установил громкость прямо в compose file
, так как я могу видеть их при входе в терминал контейнера.
Я следовал некоторым учебникам в Интернете, откуда я добавил некоторые__init__.py
.
2 пустых __init__
находятся в
from operators.facts_calculator import FactsCalculatorOperator
from operators.has_rows import HasRowsOperator
from operators.s3_to_redshift import S3ToRedshiftOperator
__all__ = [
'FactsCalculatorOperator',
'HasRowsOperator',
'S3ToRedshiftOperator'
]
from airflow.plugins_manager import AirflowPlugin
import operators
# Defining the plugin class
class CustomPlugin(AirflowPlugin):
name = "custom_plugin"
# A list of class(es) derived from BaseOperator
operators = [
operators.FactsCalculatorOperator,
operators.HasRowsOperator,
operators.S3ToRedshiftOperator
]
# A list of class(es) derived from BaseHook
hooks = []
# A list of class(es) derived from BaseExecutor
executors = []
# A list of references to inject into the macros namespace
macros = []
# A list of objects created from a class derived
# from flask_admin.BaseView
admin_views = []
# A list of Blueprint object created from flask.Blueprint
flask_blueprints = []
# A list of menu links (flask_admin.base.MenuLink)
menu_links = []
Но я продолжаю получать ошибки из своей IDE (например, No module named operators
или Неразрешенные операторы ссылок внутри __init__
) оператора.
Так как все не запускается навеб-сервер.
Есть идеи, как это настроить? Где я не прав?