Escribiendo particiones Dask en un solo archivo

Como dask en dask , tengo un archivo CSV de 1GB cuando lo leo en el dataframe de dask , crea unas 50 particiones después de mis cambios en el archivo cuando escribo, crea tantos archivos como particiones.
¿Hay una manera de escribir todas las particiones en un solo archivo CSV y hay una manera de acceder a las particiones?
Gracias.

Respuesta corta

No, Dask.dataframe.to_csv solo escribe archivos CSV en archivos diferentes, un archivo por partición. Sin embargo, hay maneras de evitar esto.

Concatenar despues

¿Quizás solo concatenar los archivos después de que dask.dataframe los escriba? Es probable que esto sea casi óptimo en términos de rendimiento.

 df.to_csv('/path/to/myfiles.*.csv') from glob import glob filenames = glob('/path/to/myfiles.*.csv') with open('outfile.csv', 'w') as out: for fn in filenames: with open(fn) as f: out.write(f.read()) # maybe add endline here as well? 

O utilizar Dask.delayed

Sin embargo, puede hacerlo usted mismo usando dask.delayed , usando dask.delayed junto con los marcos de datos

Esto le da una lista de valores retrasados ​​que puede usar como quiera:

 list_of_delayed_values = df.to_delayed() 

Entonces depende de usted estructurar un cálculo para escribir estas particiones secuencialmente en un solo archivo. Esto no es difícil de hacer, pero puede causar un poco de copia de seguridad en el progtwigdor.