如何修改 dask worker 使用的 docker 图像中的库版本?
How can I modify library versions in the docker image used by dask workers?
我正在尝试 运行 在 AWS Fargate 集群上使用 Dask 进行分布式计算(使用 dask.cloudprovider
API),我 运行 正在完全相同问题为 this question. Based on the partial answers to the linked question, and on things like this,我严重怀疑这是因为我的 worker 中的 pandas 版本已过时;确实
official Dask Dockerfile 指定 pandas.
的旧版本
相比之下,当我 运行 我的本地计算(使用 distributed.LocalCluster
)和 1.2.2
的 pandas 版本时,它工作正常。顺便说一句,它是对 Dask DataFrame 上的 categorize
方法的调用,它触发了 Fargate 集群案例中的错误。
我想做的解决方法是简单地在部署给工作人员的图像中为自己指定 pandas 的版本,要么自己构建自定义图像 + 将其放在图像存储库中 + 有工人使用它,或通过其他方法。有办法实现吗?
一个可能有效的选项是传递环境变量,例如 EXTRA_CONDA_PACKAGES
和 EXTRA_PIP_PACKAGES
,以指示您要安装的包版本,看起来 dask.cloudprovider
看到 here, and also noted in the dask-docker
repo 你链接了。它们将通过参数 environment
.
作为字典传递
另一种选择是构建和推送您自己提到的图像,dask.cloudprovider
似乎也支持该图像,如 here 所示。图像标签将通过 image
参数传递给集群构造器。
链接的选项适用于 ECSCluster
,FargateCluster
继承自 here。
我正在尝试 运行 在 AWS Fargate 集群上使用 Dask 进行分布式计算(使用 dask.cloudprovider
API),我 运行 正在完全相同问题为 this question. Based on the partial answers to the linked question, and on things like this,我严重怀疑这是因为我的 worker 中的 pandas 版本已过时;确实
official Dask Dockerfile 指定 pandas.
相比之下,当我 运行 我的本地计算(使用 distributed.LocalCluster
)和 1.2.2
的 pandas 版本时,它工作正常。顺便说一句,它是对 Dask DataFrame 上的 categorize
方法的调用,它触发了 Fargate 集群案例中的错误。
我想做的解决方法是简单地在部署给工作人员的图像中为自己指定 pandas 的版本,要么自己构建自定义图像 + 将其放在图像存储库中 + 有工人使用它,或通过其他方法。有办法实现吗?
一个可能有效的选项是传递环境变量,例如 EXTRA_CONDA_PACKAGES
和 EXTRA_PIP_PACKAGES
,以指示您要安装的包版本,看起来 dask.cloudprovider
看到 here, and also noted in the dask-docker
repo 你链接了。它们将通过参数 environment
.
另一种选择是构建和推送您自己提到的图像,dask.cloudprovider
似乎也支持该图像,如 here 所示。图像标签将通过 image
参数传递给集群构造器。
链接的选项适用于 ECSCluster
,FargateCluster
继承自 here。