Как распараллелить файловые операции с помощью DockerOperator в Airflow? - PullRequest
0 голосов
/ 03 июля 2019

Итак, это быстрый взгляд на мой DAG с воздушным потоком. По сути, я делаю некоторые zip-файлы (2 файла) с первым DockerOperator, затем извлекаю и извлекаю их во второй DockerOperator (4000 файлов). Теперь мне нужно расшифровать эти ~ 4000 файлов.

  • Есть ли способ раскрутить, скажем, 1 контейнер на X файлов для параллельного дешифрования файлов?
  • Если это возможно, как я могу остановить их, пытаясь расшифровать те же файлы (все они имеют доступ к тому же тому, на который были извлечены zip-файлы)
  • Должен ли я делать это совершенно по-другому
    with DAG('data_pipeline', default_args=default_args, schedule_interval=timedelta(days=7), catchup=False) as dag:

        start = DummyOperator(
            task_id='start'
        )

        print_date = BashOperator(
            task_id='print_date',
            bash_command='date'
        )

        fetch_data = DockerOperator(

        )

        extract_data = DockerOperator(

        )

        end = DummyOperator(
            task_id='end'
        )

        start >> print_date >> fetch_data >> extract_data >> end

Открыто для любой критики метода, учитывая, что я хотел бы придерживаться потока воздуха и контейнеров для своего решения, с Kubernetes, конечно, все в порядке, я планирую перенести свое решение на это на некотором этапе

...