Мне нужно загрузить данные из разных файлов в базу данных Azure SQL. Поэтому я настроил виртуальную машину с Airflow и двумя общими папками Azure, одну для моих дагов (чтобы я мог изменять их без подключения к виртуальной машине по протоколу ssh), а другую — для сброса файлов, которые будут загружены.
Я смонтировал эти два файловых ресурса на виртуальную машину и свой компьютер и использовал их как обычные диски.
В настоящее время система простаивает, и я вижу на портале Azure, что каждые 5 минут я получаю около 24 000 транзакций, но я не вижу, что конкретно их генерирует.
Возможно ли, что виртуальная машина постоянно запрашивает список файлов или прикасается к общей папке, чтобы проверить, существует ли она? Как я могу этого избежать?
Спасибо!
Я могу подтвердить, что наличие папки dags на общем диске было причиной безумного количества транзакций. Я переместил папку dags на диск виртуальной машины, и теперь все вернулось в норму.
Я столкнулся с похожей проблемой, имея 8 тыс. транзакций каждые 5 минут всего для 3 DAG. Я сократил количество транзакций до 800 каждые 5 минут, установив file_parsing_sort_mode
на alphabetical
.
https://airflow.apache.org/docs/apache-airflow/stable/configurations-ref.html#file-parsing-sort-mode
Значение по умолчанию для этого, то есть modified_time
, заставит процессор DAG извлекать время последнего изменения файла из общей папки в каждом цикле. Как ни странно, это действие запускает даже операции записи, которые обходятся дороже, чем операции чтения.
Тот же ответ опубликован на аналогичный вопрос здесь: https://stackoverflow.com/a/70524563/6654620
Привет, у меня тоже такая же проблема. Не могли бы вы сообщить мне, можем ли мы создать управляемый диск в Azure, а затем смонтировать этот диск в модулях. Не уверен, что мы можем подключить диск к нескольким модулям.