栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将Dask分区写入单个文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将Dask分区写入单个文件

简短答案

不,Dask.dataframe.to_csv仅将CSV文件写入不同的文件,每个分区一个文件。但是,有一些解决方法。

之后串联

也许只是在dask.dataframe将文件写入后将它们连接起来?就性能而言,这可能接近最佳。

df.to_csv('/path/to/myfiles.*.csv')from glob import globfilenames = 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与数据帧一起使用

这为您提供了可以使用的延迟值列表,但您可以根据需要:

list_of_delayed_values = df.to_delayed()

然后由您来构建计算结构,以将这些分区顺序写入单个文件。这并非难事,但会在调度程序上造成一些备份。

编辑1:(2019年10月23日)

在Dask
2.6.x中,参数为

single_file
。默认情况下为
False
。您可以将其设置
True
为获取单个文件输出,而无需使用
df.compute()

例如:

df.to_csv('/path/to/myfiles.csv', single_file = True)

参考:to_csv的文档



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611704.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号