Size: a a a

2020 July 28

VS

Vladislav 👻 Shishkov... in Airflow
Анастасия
Привет!

Понимаю, что пишу не в тот чатик, но вдруг кто-то сталкивался с подобным.

Я хочу быстро перекладывать часть таблички из хайва в вертику, но etl инструменты делают это достаточно медленно в силу пропускной способности сети.

Хотела сделать external table, чтобы просто обращаться к hdfs, но... Оно сообщает мне, что я пишу не все столбцы, что есть в файле. Проблема в том, что в таблице порядка 100 столбцов, мне нужно только 40 штук, не хочу я вручную это все писать.

Тем более я думала, что ORC позволяет так делать...

Какие еще могут быть варианты для попробовать?
Написать нормально экстернал, последнее поле должно быть партицией, если оно есть и потом без проблем перекладывать в многопоток
источник

А

Анастасия in Airflow
Ruslan
copy from hdfs orc
На такую штуку он тоже говорит про количество столбцов
источник

А

Анастасия in Airflow
Vladislav 👻 Shishkov
Написать нормально экстернал, последнее поле должно быть партицией, если оно есть и потом без проблем перекладывать в многопоток
В create table не вижу хоть какого партицирования
источник

VS

Vladislav 👻 Shishkov... in Airflow
Если нет, то описать все поля и вперед. Неужели лень сделать один раз?
источник

А

Анастасия in Airflow
Vladislav 👻 Shishkov
Если нет, то описать все поля и вперед. Неужели лень сделать один раз?
Всегда хочется найти вариант проще и изящнее
источник

VS

Vladislav 👻 Shishkov... in Airflow
Это самый простой и изящный
источник
2020 July 29

SK

Serhii Kholodniuk in Airflow
Привет. Мне нужно что-б следуйший даг не запускался пока все таски предидущего не отработали. Выставил depends_on_past=True. Нужно ли мне выставить еще wait_for_downstream=True? Или мне нужна другая настройка?
источник

PA

Panchenko Andrey in Airflow
а почему экстернал сенсор не устраивает?
источник

RK

Roman Kazakov in Airflow
Serhii Kholodniuk
Привет. Мне нужно что-б следуйший даг не запускался пока все таски предидущего не отработали. Выставил depends_on_past=True. Нужно ли мне выставить еще wait_for_downstream=True? Или мне нужна другая настройка?
источник

SK

Serhii Kholodniuk in Airflow
Спасибо
источник

RK

Roman Kazakov in Airflow
Serhii Kholodniuk
Спасибо
А вообще лучше перепроектировать заливку, что бы каждый таск был независим - например если это заливка в stage  таблицу какую-нибудь, пусть у неё будет своё имя и например у неё будет постфикс в имени который будет соответствовать например ds запуска таска. просто если нужно будет сделать backfill - он так пройдет быстрее
источник

SK

Serhii Kholodniuk in Airflow
Нужно будет подумать на счет этого, не уверен что єто будет хорошое решение
источник

ME

Max Efremov in Airflow
Serhii Kholodniuk
Привет. Мне нужно что-б следуйший даг не запускался пока все таски предидущего не отработали. Выставил depends_on_past=True. Нужно ли мне выставить еще wait_for_downstream=True? Или мне нужна другая настройка?
У меня такая же проблема была)
источник

ME

Max Efremov in Airflow
Рекомендую max_active_runs=1
источник

ME

Max Efremov in Airflow
Но остаётся проблема, что при фейле таски в середине, начнётся следующий запуск дага, который дойдёт до зафейленно и остановится там
источник

ME

Max Efremov in Airflow
решил проверкой успешности выполнения прошлого запуска в первой таске
источник

ME

Max Efremov in Airflow
теперь фейлится она, если что
источник

ME

Max Efremov in Airflow
как штатно добить конфигом этого - не нашёл
источник

ME

Max Efremov in Airflow
О, ExternalTaskSensor, интересно. Надо тогда переделать, чтобы не фейлилось, а ждало тоже, спасибо!
источник

ДН

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