Запись разделов Dask в один файл

Новое для dask , у меня есть CSV-файл 1GB когда я читаю его в dask он создает около 50 разделов после моих изменений в файле при записи, он создает столько файлов, сколько разделов.
Есть ли способ записать все разделы в один файл CSV и есть ли способы доступа к разделам?
Спасибо.

One Solution collect form web for “Запись разделов Dask в один файл”

Короткий ответ

Нет, Dask.dataframe.to_csv записывает только CSV-файлы в разные файлы, по одному файлу на раздел. Однако есть способы обойти это.

После этого конкатенация

Возможно, просто конкатенируйте файлы после того, как dask.dataframe пишет их? Вероятно, это будет почти оптимальным с точки зрения производительности.

 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? 

Или используйте Dask.delayed

Тем не менее, вы можете сделать это самостоятельно, используя dask.delayed , используя dask.delayed наряду с dataframes

Это дает вам список задержек, которые вы можете использовать, как вам нравится:

 list_of_delayed_values = df.to_delayed() 

Тогда вам нужно структурировать вычисление для последовательного написания этих разделов в один файл. Это непросто сделать, но может вызвать немного резервного копирования в планировщике.

  • Может ли dask dataframe с неупорядоченным индексом вызывать тихие ошибки?
  • Поиск параметров с использованием dask
  • Чтение csv с разделителем в python dask
  • Как запустить кластер dask.distributed в одном потоке?
  • влияет ли npartitions на результат dask.dataframe.head ()?
  • Как программировать трафарет с Dask
  • Как использовать сеть InfiniBand с Dask?
  • Медленная производительность с мешком Python Dask?
  • Python - лучший язык программирования в мире.