Dask能够读取大块的压缩文件吗?
读取.xz文件时,我在this notebook中收到几个错误,
import dask.bag as db
bag = db.read_text('data/1-input/RC_2018-09.xz', blocksize=100e6).map(json.loads)
ValueError:无法从使用compression ='xz'压缩的文件中推断出逻辑大小
ValueError:无法对使用compression ='xz'压缩的文件进行分块读取。要读取,请设置blocksize = None
显式设置compression='xz'
也会导致错误。
深入研究,我发现compression.py中有关xz文件的几行已被注释掉,所以我想知道这是否已被禁用。
根据xz specs,它确实支持在有限的块大小内进行随机访问读取。
这对我而言并不重要-我总是可以解压缩然后运行Dask-这样只会节省一些磁盘空间。
谢谢!
答案 0 :(得分:0)
XZ确实支持压缩,但是在实践中很少见。维护它的成本最终大于使用它,因此维护人员停止维护此功能。如果您有兴趣进行维护,那么欢迎您,并且可以将其重新添加。