如何在S3上存储大型压缩CSV以与Dask一起使用

如何在S3上存储大型压缩CSV以与Dask一起使用,dask,Dask,我有一个大的数据集(~1TB的数据),分布在几个csv文件中,我想将这些文件存储(压缩)到S3上。我在将压缩文件读入dask时遇到了问题,因为它们太大了,所以我最初的解决方案是将每个csv拆分为可管理的大小。然后按以下方式读取这些文件: ddf = dd.read_csv('s3://bucket-name/*.xz', encoding = "ISO-8859-1", compression='xz', blocksize=None, parse_date

我有一个大的数据集(~1TB的数据),分布在几个csv文件中,我想将这些文件存储(压缩)到S3上。我在将压缩文件读入dask时遇到了问题,因为它们太大了,所以我最初的解决方案是将每个csv拆分为可管理的大小。然后按以下方式读取这些文件:

ddf = dd.read_csv('s3://bucket-name/*.xz', encoding = "ISO-8859-1", 
                  compression='xz', blocksize=None, parse_dates=[6])

在我接收完整数据集之前-这是正确的方法,还是有更好的方法来完成我需要的内容?

这对我来说似乎是明智的

这里出现的唯一挑战是压缩。如果压缩格式不支持随机访问,则Dask无法将大文件分解为多个较小的部分。对于确实支持随机访问的格式(如xz),也可能是这样,但对于该特定文件,未配置为

在这种情况下,手动将文件拆分为多个小文件,并像上面所做的那样使用
blocksize=None