Относительный каталог DAG Google Cloud Composer в корзине GCS

Как правильно получить доступ к корневой папке контейнера GCS экземпляра Composer или любой другой папке воздушного потока (например, / data), чтобы сохранить выходной файл задачи для простого DAG:

import logging
from os import path
from datetime import datetime

import numpy as np
import pandas as pd
from airflow import models
from airflow.operators.dummy_operator import DummyOperator
from airflow.operators.python_operator import PythonOperator


def write_to_file():
    df = pd.DataFrame(data=np.random.randint(low=0, high=10, size=(5, 5)),
                      columns=['a', 'b', 'c', 'd', 'e'])
    logging.info("Saving results")

    file_path = path.join("output.csv")

    df.to_csv(path_or_buf=file_path, index=False)


with models.DAG(dag_id='write_to_file',
                schedule_interval='*/10 * * * *',
                default_args={'depends_on_past': False,
                              'start_date': datetime(2018, 9, 8)}) as dag:
    t_start = DummyOperator(task_id='start')

    t_write = PythonOperator(
        task_id='write',
        python_callable=write_to_file
    )

    t_end = DummyOperator(task_id='end')

    t_start >> t_write >> t_end  

Есть ли какая-то переменная окружения, или я должен использовать ловушку GCS?


person fpopic    schedule 09.09.2018    source источник


Ответы (1)


Я получил ответ в списке рассылки композитора: «если вы сохраните выходные данные оператора в /home/airflow/gcs/data, они будут автоматически синхронизированы с gs://{composer-bucket}/data».

person fpopic    schedule 10.09.2018
comment
что вы имеете в виду сохранить выходные данные оператора? - person MT467; 21.11.2018
comment
df.to_csv (/home/airflow/gcs/data/filename.csv) работает ?? - person MT467; 21.11.2018
comment
Да, это работает! Я имел в виду, что оператор использует какой-то перехватчик (подключение к db / file) и сохраняет результаты запроса в GCS. - person fpopic; 22.11.2018
comment
каким будет способ доступа к другим данным корзины, которые не связаны с корзиной композитора? см. вопрос о stackoverflow stackoverflow.com/questions/57586365/ - person Bhagesh Arora; 21.08.2019
comment
каким будет способ доступа к другим данным корзины, которые не связаны с корзиной композитора? см. вопрос о stackoverflow stackoverflow.com/questions/57586365/ - person Bhagesh Arora; 21.08.2019