У меня все коннекторы BigQuery работают, но у меня есть несколько существующих скриптов в контейнерах Docker, которые я хочу запланировать в Cloud Composer вместо App Engine Flexible.
У меня нижеприведенный скрипт, который, кажется, следует за примерами, которые я могу найти:
import datetime
from airflow import DAG
from airflow import models
from airflow.operators.docker_operator import DockerOperator
yesterday = datetime.datetime.combine(
datetime.datetime.today() - datetime.timedelta(1),
datetime.datetime.min.time())
default_args = {
# Setting start date as yesterday starts the DAG immediately
'start_date': yesterday,
# If a task fails, retry it once after waiting at least 5 minutes
'retries': 1,
'retry_delay': datetime.timedelta(minutes=5),
}
schedule_interval = '45 09 * * *'
dag = DAG('xxx-merge', default_args=default_args, schedule_interval=schedule_interval)
hfan = DockerOperator(
task_id = 'hfan',
image = 'gcr.io/yyyyy/xxxx'
)
... но при попытке запуска он говорит мне в веб-интерфейсе:
Broken DAG: [/home/airflow/gcs/dags/xxxx.py] No module named docker
Возможно, Docker не настроен для работы внутри кластера Kubernetes, который работает Cloud Composer? Или я просто что-то упустил в синтаксисе?