Переполнение памяти pandas.DataFrame.to_parquet() в Airflow с Kubernetes Executor
Я получаю ошибки OOM от Airflow при попытке записать DataFrame в файл паркета.
Фрейм данных довольно мал, а доступная память составляет около 5 ГБ.
df_chunk is a chunk of a pandas.DataFrame with about 2000 rows
df_chunk.memory_usage(deep=True).sum()/1024/1024
дает только около 17 МБ используемой памяти
with tempfile.NamedTemporaryFile(delete=True, mode='w+b', buffering=io.DEFAULT_BUFFER_SIZE) as tmp_file:
print("Writing DF to tmp file")
df_chunk.to_parquet(tmp_file.name,compression='gzip')
print("Flushing tmp_file")
tmp_file.flush()
когда я уменьшаю размер фрагмента примерно до 500 строк, у меня не возникает проблемы.
Я попытался запустить это в отдельном процессе с 2 ГБ, выделенными через библиотеку ресурсов. В этом случае я получаю ошибку realloc failed .