Может ли dask читать сжатые файлы в блоках? - PullRequest
0 голосов
/ 15 января 2019

Может ли Dask читать сжатые файлы по частям?

Я получаю пару ошибок в этой записной книжке при чтении файла .xz,

import dask.bag as db

bag = db.read_text('data/1-input/RC_2018-09.xz', blocksize=100e6).map(json.loads)

ValueError: Невозможно определить логический размер файла, сжатого сжатием = 'xz'

ValueError: Невозможно выполнить частичное чтение файлов, сжатых с сжатием = 'xz'. Чтобы прочитать, установите blocksize = None

Явная установка compression='xz' также вызывает ошибку.

Копая глубже, я вижу некоторые строки, относящиеся к файлам xz в compress.py , закомментированы, поэтому мне интересно, отключено ли это.

В соответствии со спецификациями xz он поддерживает чтение с произвольным доступом вплоть до ограниченного размера блока.

Это не критично для меня - я всегда могу распаковать и запустить Dask - это просто сэкономит место на диске.

Спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

XZ поддерживает сжатие, но на практике это очень редко. Затраты на его обслуживание оказались больше, чем использовались, поэтому сопровождающие прекратили поддерживать эту функцию. Если вы заинтересованы в получении обслуживания, это будет приветствоваться, и можно будет добавить его снова.

...