首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用没有> client = Client()的dask

使用没有> client = Client()的dask
EN

Stack Overflow用户
提问于 2022-03-14 15:33:50
回答 2查看 253关注 0票数 0

关于达斯克。

我想以df的形式读取parquet文件,并运行groupby函数。

我的问题是,为什么要在此之前运行此代码?

代码语言:javascript
复制
from dask.distributed import Client, progress
client = Client()
client

而不仅仅是

代码语言:javascript
复制
import dask.dataframe as dd
        
df = dd.read_parquet(r'C:\Users\ggg\mis_1.parquet')
g=df.groupby('id')['id'].count().compute() 

对我来说,没有客户就更好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-14 17:54:09

您应该阅读此页面,比较调度程序:https://docs.dask.org/en/stable/scheduler-overview.html

如果您没有client,您将为您的操作使用默认的调度程序,这将是用于dataframe操作的线程调度程序。如果它的开销极低,并且通过查林进程内相同的内存空间来避免内存拷贝.然而,它并没有那么聪明,而且对于GIL-holding函数来说,它的工作效果也很差。如果它对你有效,请使用它!

分布式调度程序提供了更多的选项。您可以选择您的线程/进程混合,甚至有所有的调度程序和线程在进程中(这应该执行以及简单的线程调度程序。此外,它还通过仪表板提供了对内存管理和诊断的更多控制。当然,如果您确实需要在多台计算机上分发您的计算机,这是您唯一的选择。这个选项通常是更好的选择,所以通常是推荐的。但是,Client()只为您提供默认选项,这可能不是可选的。

票数 5
EN

Stack Overflow用户

发布于 2022-03-23 09:38:09

我试着检查它,所以我在100 M行表上运行了许多functions+compute()。与客户端(+选项)和非。

我没有发现任何在Client()中运行得更好的函数。不仅如此,在某些情况下,在Client()之后,我无法做以前工作良好的事情。

我在自己的笔记本上运行代码,而不是在云中运行,也许这就是原因.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71470336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档