如何使dask的所有其他工作程序节点都可以访问8 GB的单个大文件?我已经尝试过<div id='main'>
<div class='container'>
<!--Image-->
<div id='img-div'>
<img id='image' src='https://www.projectarm.com/wp-content/uploads/2018/01/Frida-Kahlo-Vogue-1939-New-York-foto-di-Nickolas-Murray-2.jpg' />
<div id='img-caption'>This is a caption for the image</div>
</img>
</div>
<!--Title-->
<div id='pagetitle'>
<h1 id='title'>Frida Kahlo</h1>
<span id='tagline'>A short Tribute</span>
</div>
<!--End Title-->
</div>
<div id='tribute-info'>
This is my main information about the person
<a href='' id='tribute-link' target="_blank">This is a link for more information</a>
</div>
和pd.read_csv()
的{{1}},但是花费了很长时间。我正在macOS上运行它。
这是我的代码:
chunksize
坚持下去。预先感谢!
答案 0 :(得分:0)
只要文件是.csv文件(未压缩),Dask就会对其进行分块,不确定是否要尝试自己对它进行分块。只要做:
将dask.dataframe导入为dd df = dd.read_csv('data * .csv')
答案 1 :(得分:0)
在工作流程中,您正在本地加载CSV数据,解析为数据帧,然后一次将这些数据帧的序列化版本传输给工作人员。
一些可能的解决方案:
将文件复制到每个工作人员(这在空间方面是浪费的),或将其放置在所有人都能看到的位置,例如共享文件系统或云存储
使用client.upload_file,这并不是真正为大型有效载荷而设计的,并且还会复制到每个工作人员中
像以前一样使用dask.bytes.read_bytes
来读取串行数据块,并将其保留给工作人员,这样至少您不会遭受序列化成本,并且解析工作在工作人员之间共享。 / p>