Как временно создавать и хранить файлы паркета, чтобы впоследствии сохранить их в виде архива? - PullRequest
0 голосов
/ 28 апреля 2019

Я создаю несколько фреймов данных Pandas и сохраняю их как parquet файлы на моем жестком диске:

dataframe1.to_parquet('dataframe1.parquet', engine='pyarrow')
dataframe2.to_parquet('dataframe2.parquet', engine='pyarrow')
...

Теперь я хотел бы собрать все файлы паркета вместе в виде сжатого файла, используя zipfile без явногосначала сохраняю файлы паркета на моем жестком диске.Есть ли способ сохранить файлы паркета только временно (на жестком диске или в оперативной памяти), сжать их напрямую и сохранить только сжатый файл?Я хотел бы избежать сохранения файлов паркета вначале, создания из них zip-файла и последующего удаления файлов паркета.Заранее спасибо за вашу поддержку!

Метод, который я адаптировал для хранения каталога со всеми файлами паркета:

import os
import zipfile

def zipdir(path, ziph):
    # ziph is zipfile handle
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

if __name__ == '__main__':
    zipf = zipfile.ZipFile('ParquetFiles.zip', 'w', zipfile.ZIP_DEFLATED)
    zipdir('tmp/', zipf)
    zipf.close()

Источник: Как создать zip-архив каталога

...