Size: a a a

2020 July 02

ОК

Олег Кулаков... in Airflow
Mikhail
Какая бд? Через Airflow test пробовали? Учтите что у каждой таски своя сессия
исходная - Oracle - из нее получаю данные в питоновскую переменную. Целевая - Postgres там insert query. фактически у меня физическая таблица в постгре которая создается в начале дага и дропается за не надобностью в конце выполнения дага по этому я и назвал ее темповой
источник

M

Mikhail in Airflow
Олег Кулаков
исходная - Oracle - из нее получаю данные в питоновскую переменную. Целевая - Postgres там insert query. фактически у меня физическая таблица в постгре которая создается в начале дага и дропается за не надобностью в конце выполнения дага по этому я и назвал ее темповой
А как вы через инсерт вставляете, генерите SQL?
источник

M

Mikhail in Airflow
Там кастомный оператор какой-то?
источник

ОК

Олег Кулаков... in Airflow
Mikhail
А как вы через инсерт вставляете, генерите SQL?
да, dst_cursor.executemany(insert_query, records)
источник

M

Mikhail in Airflow
А коммит в конце делаете?
источник

M

Mikhail in Airflow
Но вообще это способ адовый и для вставки лучше делать copy
источник

ОК

Олег Кулаков... in Airflow
dst_conn.commit() - конечно
источник

ОК

Олег Кулаков... in Airflow
Mikhail
Но вообще это способ адовый и для вставки лучше делать copy
это кже отдельный вопрос оптимизации, но учту
источник

M

Mikhail in Airflow
От оракла точно не пустоту получаете? Проверяли?
источник

M

Mikhail in Airflow
В смысле залогировать количество строк
источник

DS

Dmytro Skoretskyi in Airflow
Олег Кулаков
Доброго дня! Сможет кто нибудь помочь? Есть даг выполняющийся по шедулеру раз в сутки. Если триггерить его вручную, то данные переносятся - среднее время выполнения около 2-х минут. Однако при запуске по шедулеру таски выполняются за ~20 сек. помечаются как успешные но данных в целевой бд нет. Уже изменили время запуска по шедулеру, чтобы быть полностью уверенными что в исходной бд вьюха содержит данные. В логах таски ничего конкретного нет (и не очень понятно что залогировать). Другие даги отрабатывают успешно. Версия airflow 1.10.6. Заранее спасибо!
сделайте логирование шагов и поймете из за чего не отрабатывает
источник

ОК

Олег Кулаков... in Airflow
Mikhail
В смысле залогировать количество строк
сейчас этим занимаюсь, но когда триггерю в ручную то все отрабатывает
источник

M

Mikhail in Airflow
Олег Кулаков
сейчас этим занимаюсь, но когда триггерю в ручную то все отрабатывает
Что такое вручную?
источник

M

Mikhail in Airflow
Через интерфейс, через тест, просто в питоне?
источник

ДН

Дмитрий Негреев... in Airflow
Всем привет
хочу генерировать даги, нашел такую штуку в интернетах
globals()[dag_id] = create_dag(dag_id,
                                 schedule,
                                 dag_number,
                                 default_args)
я ж так понимаю это будет не полноценный даг, а обычный питонячий скрипт, который через python blablabla.py просто толкнуть надо?
источник

ОК

Олег Кулаков... in Airflow
Mikhail
Что такое вручную?
через интерфейс
источник

M

Mikhail in Airflow
Дмитрий Негреев
Всем привет
хочу генерировать даги, нашел такую штуку в интернетах
globals()[dag_id] = create_dag(dag_id,
                                 schedule,
                                 dag_number,
                                 default_args)
я ж так понимаю это будет не полноценный даг, а обычный питонячий скрипт, который через python blablabla.py просто толкнуть надо?
Даг это и есть питонячий скрипт. Непонятно в чем вопрос
источник

ДН

Дмитрий Негреев... in Airflow
Mikhail
Даг это и есть питонячий скрипт. Непонятно в чем вопрос
в том что даг стартует так :
airflow dag task execution_date и т.д., а эта ерунда же не содержит конкретный запуск, она просто видимо мне файлы должна создать, которые airflow сериализует в обычные даги
источник

ДН

Дмитрий Негреев... in Airflow
или физически будет 1 файл на множество дагов просто?
источник

M

Mikhail in Airflow
Дмитрий Негреев
или физически будет 1 файл на множество дагов просто?
Да, если положить в глобалз много дагов, их будет много
источник