Size: a a a

2020 October 02

А

Анатоли in Airflow
version: "3"
services:
 postgres:
   image: "postgres:9.6"
   container_name: "postgres1"
   environment:
     - POSTGRES_USER=airflow
     - POSTGRES_PASSWORD=airflow
     - POSTGRES_DB=airflow
   ports:
     - "5432:5432"
   volumes:
     - ./data/postgres:/var/lib/postgresql/data
#  comment initdb after you will have use it at first run
 initdb:
   build: .
   entrypoint: airflow initdb
   depends_on:
     - postgres
 webserver:
   build: .
   restart: always
   depends_on:
     - postgres
   volumes:
     - ./airflow_files/dags:/usr/local/airflow/dags
   ports:
     - "8080:8080"
   entrypoint: airflow webserver
   healthcheck:
     test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-webserver.pid ]"]
     interval: 30s
     timeout: 30s
     retries: 3
 scheduler:
   build: .
   restart: always
   depends_on:
     - postgres
   volumes:
     - ./airflow_files/dags:/usr/local/airflow/dags
   entrypoint: airflow scheduler
   healthcheck:
     test: ["CMD-SHELL", "[ -f /usr/local/airflow/airflow-scheduler.pid ]"]
     interval: 30s
     timeout: 30s
     retries: 3
источник

А

Анатоли in Airflow
sql_alchemy_conn = postgresql+psycopg2://airflow:airflow@postgres1:5432/airflo
источник

GB

Georgy Borodin in Airflow
Dockerfile лежит в директории с docker-compose?
источник

А

Анатоли in Airflow
да в одном, правда есть рядом другой каталог выше с контейнером postgres и другим docker файлом
но я захожу сначала в этот а потом запускаю docker-compose up postgres
неужели docker-compose берет сервис с другого каталога
источник

GB

Georgy Borodin in Airflow
В общем могу посоветовать вот этот репозиторий: https://github.com/xnuinside/airflow_in_docker_compose
Отсюда сработать должно, погрузиться сильнее не могу, может кто-то другой поможет
источник

А

Анатоли in Airflow
спасибо
источник

Р

Роман in Airflow
Кто-нить сталкивался с проблемой, что airflow не пишет внутри контейнера docker? Ошибка Permission denied, при этом в dockerfile есть строка что права выдаются!
источник

PA

Panchenko Andrey in Airflow
Это в команде пишется так?
источник

PA

Panchenko Andrey in Airflow
У пользователя от имени которого запускается есть права?
источник

AK

Anvar Khamidov in Airflow
Коллеги, добрый вечер.
Начал потихому изучать airflow для создания пайплайнов, интересная штука.

Возник первый вопрос по поводу запуска DAG`ов, все даги запускаются из директории ~/airflow/dags/? Или можно как-то прописать директорию к себе в проект, так как используется виртальное окружение у себя и как-то непривычна такая схема.
Что подскажете или может куда направите копать?
источник

IS

Ihar Shurupau in Airflow
Anvar Khamidov
Коллеги, добрый вечер.
Начал потихому изучать airflow для создания пайплайнов, интересная штука.

Возник первый вопрос по поводу запуска DAG`ов, все даги запускаются из директории ~/airflow/dags/? Или можно как-то прописать директорию к себе в проект, так как используется виртальное окружение у себя и как-то непривычна такая схема.
Что подскажете или может куда направите копать?
в airflow.cfg поменяйте dags_folder
источник

AK

Anvar Khamidov in Airflow
Ihar Shurupau
в airflow.cfg поменяйте dags_folder
Точно, как я не догадался😳
Спасибо!
источник
2020 October 03

AK

Anvar Khamidov in Airflow
Коллеги, еще такой вопрос, в гугле мало что нашел
При запуске такие ошибки со всеми таблицами

Как пример:
`sqlalchemy.exc.InvalidRequestError: Table 'serialized_dag' is already defined for this MetaData instance.  Specify 'extend_existing=True' to redefine options and columns on an existing Table object.
`

Было у кого такое?
источник

А

Анатоли in Airflow
внтури PythonOperator такую функцию
python вызываю


def get_results():
       request = "SELECT * FROM users"
       pg_hook = PostgresHook(postgre_conn_id="gres", schema="postgres")
       connection = pg_hook.get_conn()
       cursor = connection.cursor()
       cursor.execute(request)
       results = cursor.fetchall()
 file = open("sample1.txt","w")
 file.write(results)
 file.close()
сохрнаит ли в файл?
источник

А

Анатоли in Airflow
airflow сможет сохраинть в файл как прописать нужный каталог
источник

JS

John Smith in Airflow
Анатоли
внтури PythonOperator такую функцию
python вызываю


def get_results():
       request = "SELECT * FROM users"
       pg_hook = PostgresHook(postgre_conn_id="gres", schema="postgres")
       connection = pg_hook.get_conn()
       cursor = connection.cursor()
       cursor.execute(request)
       results = cursor.fetchall()
 file = open("sample1.txt","w")
 file.write(results)
 file.close()
сохрнаит ли в файл?
Нет. Так это редко работает(совсем не работает)
источник

JS

John Smith in Airflow
Скорее всего .fetchall() это итерабле
источник

JS

John Smith in Airflow
в файл его так писать?
источник

IS

Ihar Shurupau in Airflow
Анатоли
внтури PythonOperator такую функцию
python вызываю


def get_results():
       request = "SELECT * FROM users"
       pg_hook = PostgresHook(postgre_conn_id="gres", schema="postgres")
       connection = pg_hook.get_conn()
       cursor = connection.cursor()
       cursor.execute(request)
       results = cursor.fetchall()
 file = open("sample1.txt","w")
 file.write(results)
 file.close()
сохрнаит ли в файл?
попробуйте так: file.write(str(results))
источник

JS

John Smith in Airflow
Ihar Shurupau
попробуйте так: file.write(str(results))
Зачем ты такое советуете?
источник