В платформе Apache airflow существует задача, которая переносит данные через фрейм данных pandas с помощью SQL.Размер данных более 600к.Ниже приведен код:
def stage1_data_extract(**kwargs):
sql="some sql logic"
df1 = pd.read_sql(sql, conn)
df1 = df1.loc[:, ~df1.columns.duplicated()]
return df1
Я заметил, что когда задача воздушного потока Apache возвращает вышеуказанный фрейм данных в задаче, поток воздуха Apache зависает, и мне нужно вручную завершить все процессы, чтобы запустить сервер ивыполняется снова.
Похоже, что в задаче воздушного потока не хватает ресурса / памяти для возврата фрейма данных емкостью 600 КБ.
У меня есть несколько вопросов:
Как воздушный поток распределяет объем памяти / ресурсы для каждой задачи, это объем оперативной памяти сервера, на котором работает воздушный поток?
Существует ли способ увеличить объем памяти конкретной задачипутем увеличения объема оперативной памяти сервера или как это можно сделать?
Подскажите, есть ли способ обработки такой задачи, интенсивно использующей память, в потоке воздуха, или какой-либо лучший способ обработки таких сценариев.
Также дайте мне знать, как именно задача получает своераспределение памяти в потоке воздуха.