distributed.client.Client 用户可调用函数分析

distributed.client.Client 用户可调用函数分析

1. 核心计算函数

任务提交和执行
  • submit(func, *args, key=None, workers=None, resources=None, retries=None, priority=0, fifo_timeout='60s', allow_other_workers=False, actor=False, actors=False, pure=None, **kwargs)

    • 提交单个函数到集群执行
    • 返回 Future 对象
  • map(func, *iterables, key=None, workers=None, retries=None, priority=0, allow_other_workers=False, fifo_timeout='60s', batch_size=None, **kwargs)

    • 将函数映射到多个输入上
    • 类似 Python 的 map 函数
  • compute(collections, optimize_graph=True, **kwargs)

    • 计算 Dask 集合(如 DataFrame, Array 等)
    • 触发实际的计算执行
  • persist(collections, optimize_graph=True, **kwargs)

    • 将集合持久化到分布式内存中
    • 返回新的集合,数据保留在集群中
  • get(dsk, keys, **kwargs)

    • 执行 Dask 图并获取结果
    • 底层计算接口

2. 数据管理函数

数据分发和收集
  • scatter(data, workers=None, broadcast=False, timeout=None, hash=True, **kwargs)

    • 将本地数据分发到集群的 workers
    • 支持广播模式
  • gather(futures, errors='raise', direct=None, asynchronous=None)

    • 从分布式内存中收集 Future 结果
    • 将远程数据拉取到本地
数据集管理
  • publish_dataset(*args, **kwargs)

    • 发布命名数据集到调度器
    • 使数据在集群中可被其他客户端访问
  • unpublish_dataset(name, **kwargs)

    • 从调度器移除命名数据集
  • list_datasets(**kwargs)

    • 列出调度器上可用的命名数据集
  • get_dataset(name, default=NO_DEFAULT_PLACEHOLDER, **kwargs)

    • 从调度器获取命名数据集

3. 任务控制函数

任务生命周期管理
  • cancel(futures, asynchronous=None, force=False)

    • 取消正在运行的任务
    • 支持强制取消
  • retry(futures, asynchronous=None)

    • 重试失败的任务
  • restart(**kwargs)

    • 重启分布式网络
    • 清理并重新初始化集群

4. 集群管理函数

集群操作
  • close(timeout=no_default)

    • 关闭客户端连接
    • 清理资源
  • shutdown()

    • 关闭连接的调度器和 workers
    • 完全关闭集群
  • wait_for_workers(n_workers=0, timeout=None)

    • 等待指定数量的 workers 启动
    • 阻塞调用
集群信息查询
  • scheduler_info(**kwargs)

    • 获取集群中 workers 的基本信息
  • nthreads(workers=None, **kwargs)

    • 获取每个 worker 节点的线程/核心数
  • who_has(futures=None, **kwargs)

    • 查询存储每个 future 数据的 workers
  • has_what(workers=None, **kwargs)

    • 查询每个 worker 持有的键
  • processing(workers=None)

    • 查询每个 worker 当前运行的任务
  • nbytes(keys=None, summary=True, **kwargs)

    • 查询集群中每个键占用的字节数

5. 监控和诊断函数

性能监控
  • profile(start=None, stop=None, plot=False, filename=None, server=False, scheduler=False, workers=None, merge_workers=True, plot_width=700, plot_height=300, **kwargs)

    • 性能分析和可视化
    • 生成性能报告
  • call_stack(futures=None, keys=None)

    • 获取相关键的活跃调用栈
日志和事件
  • get_scheduler_logs(n=None)

    • 获取调度器日志
  • get_worker_logs(n=None, workers=None, nanny=False)

    • 获取 workers 日志
  • log_event(topic, msg)

    • 在指定主题下记录事件
  • get_events(topic: str = None)

    • 检索结构化主题日志

6. 数据优化函数

数据重新分布
  • rebalance(futures=None, workers=None, **kwargs)

    • 在集群中重新平衡数据
    • 优化数据分布
  • replicate(futures, n=None, workers=None, branching_factor=2, **kwargs)

    • 设置 futures 在集群中的复制
    • 提高容错性

7. 工具函数

实用工具
  • get_executor(**kwargs)

    • 返回用于在此客户端上提交任务的 concurrent.futures Executor
  • normalize_collection(collection)

    • 用已存在的 futures 替换集合的任务
  • futures_of(futures)

    • 从输入中提取 Future 对象
  • write_scheduler_file(scheduler_file)

    • 将调度器信息写入 JSON 文件
元数据管理
  • get_metadata(keys, default=no_default)

    • 从调度器获取任意元数据
  • set_metadata(key, value)

    • 在调度器中设置任意元数据
版本信息
  • get_versions(check=False, packages=[])
    • 返回调度器、所有 workers 和客户端的版本信息

8. 特殊执行函数

在特定位置执行
  • run_on_scheduler(function, *args, **kwargs)

    • 在调度器进程上运行函数
  • run(function, *args, **kwargs)

    • 在所有 workers 上运行函数(在任务调度系统外)
  • run_coroutine(function, *args, **kwargs)

    • 在所有 workers 上生成协程

9. 开发工具函数

IPython 集成
  • start_ipython_workers(workers=None, magic_names=False, qtconsole=False, qtconsole_args=None)

    • 在 workers 上启动 IPython 会话
  • start_ipython_scheduler(magic_name="scheduler_if_ipython", qtconsole=False, qtconsole_args=None)

    • 在调度器上启动 IPython 会话

10. 文件管理函数

  • upload_file(filename, **kwargs)
    • 上传本地包到 workers

11. 上下文管理

  • as_current()

    • 线程本地、任务本地上下文管理器
    • 使 Client.current 类方法返回当前客户端
  • current(cls, allow_global=True)

    • 类方法,返回当前上下文中的客户端

12. 状态查询函数

  • asynchronous()

    • 查询是否在事件循环中运行
  • dashboard_link()

    • 获取集群仪表板链接

这些函数涵盖了 Dask 分布式计算的所有主要功能,从基本的任务提交到高级的集群管理和监控。用户可以根据具体需求选择合适的方法来操作分布式集群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/98425.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/98425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数字图像处理——信用卡识别

在数字支付时代,信用卡处理自动化技术日益重要。本文介绍如何利用Python和OpenCV实现信用卡数字的自动识别,结合图像处理与模式识别技术,具有显著实用价值。系统概述与工作原理信用卡数字识别系统包含两大核心模块:模板数字预处理…

嵌入式ARM64 基于RK3588原生SDK添加用户配置选项./build lunch debian

1 背景 在我们正常拿到SDK后会有一些配置选项,在使用./build.sh lunch之后会输出一些defautconfig让我们选择,瑞芯微的原厂sdk会提供一些主板的配置选项,但是我们的如果是一块新的主板就需要添加自己的配置选项,本文就讨论如何来添…

专为石油和天然气检测而开发的基于无人机的OGI相机

专为石油和天然气检测而开发的基于无人机的OGI相机基于无人机的 OGI 相机:(Optical Gas Imaging,光学气体成像)其实是近几年油气、电力、化工等行业里非常热门的应用方向。什么是 OGI 相机OGI(Optical Gas Imaging)&am…

iPhone17全系优缺点分析,加持远程控制让你的手机更好用!

知名数码厂商苹果,不久前已官宣将于北京时间9月10日凌晨1点开启发布会,主打对于iPhone 17系列产品介绍,并且和以往不同的是,今年会在购物平台上开启线上直播,还是很有新意的。9.13全平台渠道将开启预售模式&#xff0c…

人工智能-python-深度学习-神经网络VGG(详解)

LeNet 系列之后 —— VGG(详解):从原理到 PyTorch 实现 文章目录LeNet 系列之后 —— **VGG(详解)**:从原理到 PyTorch 实现1. VGG 的发展历史与意义(一句话+背景)2. VGG…

光伏运维迎来云端革命!AcrelCloud-1200如何破解分布式光伏四大痛点?

在国家“双碳”目标推动下,分布式光伏正迎来爆发式增长🌞。甘肃、吉林、云南等多地政策接连落地,整县推进屋顶光伏试点如火如荼!然而,快速发展的背后,你是否也遇到过这些“光伏运维之痛”?✨【痛…

将 maven 集成到 idea 后出现 向项目创建模块时出错:null 的问题

1.出现的问题今天想将maven继承到idea出现了一下问题:用生成器里面的也会报错,找了找帖子并没有哪位大佬出现类似错误,于是我解决完想分享一下,如果有不对,请指正。2.解决办法很可能是java 的 版本 与 maven 版本有问题…

类似于 Progress Telerik Fiddler Classic 的 免费 或 开源 HTTP/HTTPS 抓包与调试工具推荐

以下是一些 类似于 Progress Telerik Fiddler Classic 的 免费 或 开源 HTTP/HTTPS 抓包与调试工具推荐:免费 / 开源替代工具推荐 1. Wireshark 免费且开源的网络协议分析工具,支持 Windows、macOS、Linux 等平台。可捕获并深入分析网络流量,…

7.0 热电偶的工作原理

在工业生产过程中,温度是需要测量和控制的重要参数之一。在温度测量中,热电偶的应用极为广泛,它具有结构简单、制造方便、测量范围广、精度高、惯性小和输出信号便于远传等许多优点。另外,由于热电偶是一种无源传感器,…

commons-lang3

概述 提供了许多帮助程序实用程序&#xff0c;特别是字符串操作方法&#xff0c;基本数值方法&#xff0c;对象反射&#xff0c;并发&#xff0c;创建和序列化以及系统属性。maven依赖<dependency><groupId>org.apache.commons</groupId><artifactId>c…

vue-amap组件呈现的效果图如何截图

我们用amap呈现了几个图层后&#xff0c;用户觉得效果很好&#xff0c;想点个按钮直接将这个画面截图下来。 首先我们用Canvas的toDataURL方法可以直接获取图像数据&#xff0c;但是实践发现截图后是空白的。 原因在警告中&#xff1a; 地图的WebGL context 的preserveDrawin…

杰理烧录ERROR: Data error after erasing, address = 0x430000

把CONFIG_BOARD_DEV_KIT关闭&#xff0c;打开CONFIG_BOARD_DEVELOP

超越自动化:为什么说供应链的终局是“AI + 人类专家”的混合智能?

摘要&#xff1a;当前&#xff0c;围绕AI赋能供应链的讨论&#xff0c;大多聚焦于“自动化”带来的降本增效。然而&#xff0c;这仅仅是第一层。当我们的系统面对“黑天鹅”事件时&#xff0c;一个过度依赖自动化的“脆弱”系统可能会瞬间崩溃。本文旨在深入探讨供应链演进的下…

Spine文件导入Unity流程

1、转为Json文件导出 2、对文件进行处理 3、添加Spine的Package包 一、Spine文件导出设置 1、选择Json文件 2、选择导出所在路径 3、点击打包设置 更改图集扩展名 二、文件导出后的设置 1、修改Json的Spine版本 这里必须是3.8 三、下载Unity支持包 1、链接 spine-unit…

Docker Compose healthcheck介绍(监控容器中服务的实际健康状态)数据库健康检查pg_isready

文章目录**功能概述****核心参数详解****配置示例****1. 基础用法****2. 使用数据库健康检查****3. 结合 depends_on 控制启动顺序****高级用法****1. 自定义健康检查脚本****2. 多种健康检查类型**- **HTTP 检查**&#xff1a;- **TCP 端口检查**&#xff1a;- **Redis 检查**…

算法之双指针

在算法设计中&#xff0c;双指针是一种高效优化工具&#xff0c;主要用于线性数据结构&#xff08;如数组&#xff08;数组划分和数组分块常用&#xff09;、链表、字符串&#xff09;&#xff0c;通过控制两个指针的移动轨迹&#xff0c;将原本需要 O (n) 时间复杂度的问题优化…

幂等性、顺序性保障以及消息积压

幂等性 概念 在应用程序中&#xff0c;幂等性就是指对一个系统进行重复调用&#xff08;相同参数&#xff09;&#xff0c;不论请求多少次&#xff0c;这些请求对系统的影响都是相同的效果. 比如数据库的select操作.不同时间两次查询的结果可能不同&#xff0c;但是这个操作…

算法训练营DAY58 第十一章:图论part08

拓扑排序精讲 卡码网&#xff1a;117. 软件构建(opens new window) 题目描述&#xff1a; 某个大型软件项目的构建系统拥有 N 个文件&#xff0c;文件编号从 0 到 N - 1&#xff0c;在这些文件中&#xff0c;某些文件依赖于其他文件的内容&#xff0c;这意味着如果文件 A 依…

如何在Python中使用正则表达式?

在Python中使用正则表达式主要通过内置的re模块实现。正则表达式用于匹配、查找、替换字符串中的特定模式&#xff0c;是处理文本的强大工具。以下是使用正则表达式的核心方法和示例&#xff1a; 一、基本用法步骤 导入re模块&#xff1a;import re定义正则表达式模式&#xff…

用 Trae 玩转 Bright Data MCP 集成

引言 在自动化与智能体浪潮中&#xff0c;Trae 以“开箱即用、所见即所得”的工具编排体验&#xff0c;成为个人与团队落地 AI 工作流的高效选择。本篇将以 Trae 为主角&#xff0c;展示如何通过最少配置完成与 Bright Data MCP 的对接&#xff0c;并快速构建一个可用、可观测…