我如何告诉 Dagit(Dagster GUI)在现有 Dask 集群上 运行?
How do I tell Dagit (the Dagster GUI) to run on an existing Dask cluster?
我正在使用 dagster 0.11.3(撰写本文时最新版本)
我创建了一个 Dagster 管道(另存为 pipeline.py),如下所示:
@solid
def return_a(context):
return 12.34
@pipeline(
mode_defs=[
ModeDefinition(
executor_defs=[dask_executor] # Note: dask only!
)
]
)
def the_pipeline():
return_a()
我将 DAGSTER_HOME 环境变量设置为包含名为 dagster.yaml 的文件的目录,该文件是一个空文件。这应该没问题,因为根据这些文档,默认值是合理的:https://docs.dagster.io/deployment/dagster-instance.
我在“scheduler:8786”有一个现有的 Dask 集群 运行ning。基于这些文档:https://docs.dagster.io/deployment/custom-infra/dask,我创建了一个名为 config.yaml 的 运行 配置,如下所示:
execution:
dask:
config:
cluster:
existing:
address: "scheduler:8786"
我已经成功地将此 运行 配置与 Dagster 一起使用,如下所示:
$ dagster pipeline execute -f pipeline.py -c config.yaml
(我检查了 Dask 日志并确保它确实在我的 Dask 集群上 运行)
我的问题是:我怎样才能让 Dagit 使用这个 Dask 集群?
我发现的唯一似乎相关的是:
https://docs.dagster.io/_apidocs/execution#executors
...但它甚至没有提到 Dask 作为一个选项(它有 dagster.in_process_executor 和 dagster.multiprocess_executor,它们似乎与 dask 完全无关)。
可能我需要配置 dagster-dask,记录在此处:https://docs.dagster.io/_apidocs/libraries/dagster-dask#dask-dagster-dask
...但是在使用 Dagit 时我应该把 运行 配置放在哪里?例如,无法将 config.yaml 喂给 Dagit。
部分选项:
- 您可以手动将
config.yaml
中的值插入 dagit
playground
- 如果你不需要更改它,你可以将配置直接绑定到执行器https://docs.dagster.io/concepts/configuration/configured#configured-api
- 您可以从该配置 yaml https://docs.dagster.io/tutorial/advanced-tutorial/pipelines#pipeline-config-presets
创建一个 preset
鉴于上下文,我会推荐 configured
API
我正在使用 dagster 0.11.3(撰写本文时最新版本)
我创建了一个 Dagster 管道(另存为 pipeline.py),如下所示:
@solid
def return_a(context):
return 12.34
@pipeline(
mode_defs=[
ModeDefinition(
executor_defs=[dask_executor] # Note: dask only!
)
]
)
def the_pipeline():
return_a()
我将 DAGSTER_HOME 环境变量设置为包含名为 dagster.yaml 的文件的目录,该文件是一个空文件。这应该没问题,因为根据这些文档,默认值是合理的:https://docs.dagster.io/deployment/dagster-instance.
我在“scheduler:8786”有一个现有的 Dask 集群 运行ning。基于这些文档:https://docs.dagster.io/deployment/custom-infra/dask,我创建了一个名为 config.yaml 的 运行 配置,如下所示:
execution:
dask:
config:
cluster:
existing:
address: "scheduler:8786"
我已经成功地将此 运行 配置与 Dagster 一起使用,如下所示:
$ dagster pipeline execute -f pipeline.py -c config.yaml
(我检查了 Dask 日志并确保它确实在我的 Dask 集群上 运行)
我的问题是:我怎样才能让 Dagit 使用这个 Dask 集群? 我发现的唯一似乎相关的是: https://docs.dagster.io/_apidocs/execution#executors
...但它甚至没有提到 Dask 作为一个选项(它有 dagster.in_process_executor 和 dagster.multiprocess_executor,它们似乎与 dask 完全无关)。
可能我需要配置 dagster-dask,记录在此处:https://docs.dagster.io/_apidocs/libraries/dagster-dask#dask-dagster-dask
...但是在使用 Dagit 时我应该把 运行 配置放在哪里?例如,无法将 config.yaml 喂给 Dagit。
部分选项:
- 您可以手动将
config.yaml
中的值插入dagit
playground - 如果你不需要更改它,你可以将配置直接绑定到执行器https://docs.dagster.io/concepts/configuration/configured#configured-api
- 您可以从该配置 yaml https://docs.dagster.io/tutorial/advanced-tutorial/pipelines#pipeline-config-presets 创建一个
preset
鉴于上下文,我会推荐 configured
API