В настоящее время я работаю над локальным кластером Dash для набора сжатых файлов lz4 Parquet. Чтение и запись сжатых файлов работает нормально, но при настройке и индексировании алгоритм случайного воспроизведения записывает много несжатых данных на диск (данные больше моей памяти, поэтому я использую тасование нехватки памяти на диске).
Перестановка в Dask выполняется с помощью проекта partd , который поддерживает сжатие с помощью snappy или lz4. Однако я не могу активировать сжатие для локальных работников и перемешивать файлы. Есть ли способ использовать переменные окружения или dask.settings?
Большое спасибо
import dask
import dask.dataframe as dd
from dask.distributed import Client
# setup local cluster
client = Client(n_workers=2, threads_per_worker=4, processes=False, memory_limit='16GB')
# load, set index, save
df = dd.read_parquet('Data/Parquet', engine='fastparquet') # <-- is compressed
df2 = df.set_index(use_columns, shuffle='disk') # <-- generates a lot of uncompressed data on the disk
df2.to_parquet('Data/ParquetSorted', engine='fastparquet', compression="lz4") # <-- again compressed