在下面的代码中,为什么dd.read_csv在集群上运行? client.read_csv应该在群集上运行。
import dask.dataframe as dd
from dask.distributed import Client
client=Client('10.31.32.34:8786')
dd.read_csv('file.csv',blocksize=10e7)
dd.compute()
一旦创建了客户端对象,所有的api调用都会在集群上运行吗?
答案 0 :(得分:2)
命令dd.read_csv('file.csv', blocksize==1e8)
会生成许多pd.read_csv(...)
命令,每个命令都将在您的敏捷工作者上运行。每个任务将查找file.csv文件,在该文件中由您的块大小定义的某个位置,然后读取这些字节以创建熊猫数据框。每个工作人员应该普遍使用file.csv文件。
人们通常使用一些通用存储中的文件,例如网络文件系统,数据库或云对象存储。
答案 1 :(得分:1)
除了第一个答案:
是的,为分布式客户端创建客户端后,它将成为完成所有工作后 all 的默认调度程序。但是,您可以按照以下步骤指定要在哪里运行工作
用于特定计算,
dd.compute(scheduler='threads')
获取黑色代码,
with dask.config.set(scheduler='threads'):
dd.compute()
直到另行通知,
dask.config.set(scheduler='threads')
dd.compute()