如何从代码中外部指示dask使用分布式Client
作为调度程序。通过环境变量?
动机是利用dask的关键功能之一-即从单台计算机到分布式集群的透明性。但是,似乎有一点点东西遮盖了这种透明度-需要通过代码注册Client
。
我可以通过config(文件/环境变量)将命名的调度程序(例如“同步”和“进程”)设置为instructed here,但是如何将同一机制与分布式机制一起使用?>
理想情况下,我想设置以下内容:
DASK_SCHEDULER=distributed(scheduler_file=...)
作为环境变量,相当于在Python代码中运行client = Client(scheduler_file=...)
。
这意味着 EXACT 相同的代码可以在不同的环境(本地和分布式)中运行。
答案 0 :(得分:0)
一种实现方法是添加以通过调度程序并带有一个参数;可以说Argparse。
因此,如果您为本地指定分布式或<127.0.0.1:port>,则可以有python my_script.py <ip:port>
。