问题标签 [dask-distributed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dask - dask 作业无限期且不一致地挂起
我正在使用 dask-client submit api 运行多个并发 dask 作业。它已经多次遇到这个问题。
特定工作者的线程转储显示以下信息。
有人可以指导我解决这个问题。
dask - Distributed.utils - 错误 - 现有数据导出:无法调整对象大小
我在一个节点上运行 dask-scheduler,而我的 dask-worker 在另一个节点上运行。我从第三个节点向 dask-scheduler 提交任务。
它有时会抛出distributed.utils
错误 - 现有数据导出:无法调整对象大小
我正在使用 python 2.7、tornado 4.5.2、tensorflow 1.3.0
我很确定这与 dask 有关。
dask - 覆盖 dask 调度程序以同时在多个工作人员上加载数据
我想在我的分布式集群上运行图形/期货,它们都有一个“加载数据”根任务,然后是一堆在该数据上运行的训练任务。简化版本如下所示:
像上面那样运行调度程序让一个工作人员读取文件,然后将该数据溢出到磁盘以与其他工作人员共享。但是,加载数据通常是从一个大的 HDF5 文件中读取,这可以同时完成,所以我想知道是否有一种方法可以强制所有工作人员同时读取这个文件(他们都计算根任务)而不是让他们等待一名工作人员完成,然后慢慢地从该工作人员传输数据。
我知道有一种client.run()
方法可以让所有工作人员同时读取文件,但是您将如何获取已读取的数据以提供给下游任务?
我不能使用 dask 数据原语同时读取 HDF5 文件,因为我需要多索引和多列分组等内容。
dask - 如何将客户端依赖项传递给 dask-worker 节点
scriptA.py 内容:
scriptB.py 内容:
scriptA.py 在 node-1(192.168.23.12:9784) 上运行,而 dask-worker 在另一个 node-2 (198.168.54.86:4658) 上运行,而 dask-scheduler 在不同的 node-3(198.168.1.3:8786) 上运行.
这里的问题是如何将 scriptB.py 所需的依赖项(例如 folder1、file1、file2 等)从运行在 node-1 上的 scriptA.py 传递给 dask-worker node-2。
python - 最简单的方法复杂的 dask 图创建
对某些对象有一个复杂的计算系统。困难在于有些计算是分组计算。
这可以通过以下示例来证明:
对象列表数为数千个元素,任务数为数十个(包括几个组任务)。
使用这种图创建方法很难修改图(添加新任务、更改依赖项等)。对于这些上下文,是否有更有效的分布式计算方法?
添加
期货图是:
在任务函数中,输入参数是Future实例,然后是 arg.result() 使用前。
dask - 向 Dask 调度程序/工作人员控制台日志添加/启用时间戳
有没有办法向 Dask 调度程序/工作人员控制台日志添加/启用时间戳。?
dask:0.15.0-py35_0
分布式:1.17.1-py35_0
如果我使用上述版本,则未启用 -
调度器 -
工作人员 -
有什么办法可以给这些日志加上时间戳。?这将有助于调试一些内部崩溃。
亲切的问候,雅各布。
python - 如何查看 dask 图的实时执行?
在有关 Dask 的几次讨论中,显示了一个动画任务图,其中节点在运行时显示为红色,在完成时显示为蓝色(例如:https ://youtu.be/RA_2qdipVng?t=23m57s )。我在文档中找不到此功能。用户是否容易/可能为他们的任务生成这种可视化?
dask - 如果我有很多长期运行的任务,如何管理 dask-worker。!
假设我有 4 个节点 dask 集群,其中在节点 1 上运行 dask-scheduler,而在其余节点上运行 dask-workers。我集体提交了 5 个长期运行的任务。所以在这种情况下发生的是,3 个任务处于运行模式,另外 2 个处于等待状态。但我不想等待 dask-worker 空闲,而是想启动一个新的 worker,因为任务是长期运行的。
有什么办法可以在 dask 中实现这一点。?
python - Dask Dataframe 分布式进程 ID 访问被拒绝
我正在对 dask 数据帧运行一组类似熊猫的转换,使用“分布式”设置,在我自己的机器上运行 - 所以使用与我的计算机的 8 个内核相对应的 8 个工作人员。
我有一个分布式客户端的默认设置:
该过程使用少量数据(1000 条记录)成功运行,但是当我将其仅略微扩展到 7500 条记录时,我收到以下警告:
当 dask 尝试再次启动计算块时,它会重复多次。在配置文件中指定的次数失败后,最终会出现 KilledWorker 错误,例如以下。我已经尝试过使用不同长度的数据,并且 KilledWorker 有时在融化任务上,有时在应用任务上。
我对分布式或龙卷风包或正在创建和杀死进程的底层架构不是很熟悉 - 有没有人能指出我调试/解决这个问题的正确方向?
与此同时,我正在切换到多线程计算的默认 dask 数据帧行为,它可以成功处理大量数据。
dask - 如何在文件中捕获 dask-worker 控制台日志。?
def my_task(): print("dask_worker_log_msg") ...
客户=客户()
未来 = client.submit(my_task) print("dask_client_log_msg") ...
我想在一个文件中捕获“dask_client_log_msg”和其他任务日志,在一个单独的文件中捕获“dask_worker_log_msg”和其他客户端日志。显然,客户端将与工作人员完全在一个单独的进程中运行。所以我需要一个进程将其所有消息记录在一个单独的文件中。谢谢。!