我正在使用dask.distributed群集并且我想将大型数据帧保存到单个CSV文件到S3,如果可能的话保持分区的顺序(默认情况下to_csv()写入数据帧到多个文件,每个分区一个)。此外,此文件存储操作也应作为延迟/延迟任务执行(应在集群工作程序上执行)。
我能想到的第一个解决方案是将分区存储在临时S3位置,然后在延迟功能中使用S3分段上传来合并/上传这些文件。临时存储在这里是一个缺点。
可以使用dataframe.to_delayed()完成吗?上传需要由单个延迟功能执行(S3没有追加操作),同时数据帧可能大于工作人员的内存,因此该功能不能简单地依赖于所有数据帧分区。
PS。 CSV格式是此用例的要求。