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
英文地址,請注明出處:http://en.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;并快速構建一個可用、可觀測…