Как указать клиента dask через переменную окружения - PullRequest
0 голосов
/ 17 апреля 2019

Как я могу дать команду dask использовать распределенный Client в качестве планировщика, извне из кода, например, через переменную окружения?

Мотивация состоит в том, чтобы воспользоваться одной из ключевых особенностей dask, а именно прозрачностью перехода с одного компьютера на распределенный кластер. Однако, кажется, есть одна маленькая вещь, скрывающая эту прозрачность - необходимость зарегистрировать Client с помощью кода.

Я могу установить именованные планировщики (например, "синхронный" и "процессы") через конфигурацию (file / env var), как указано здесь , но как использовать тот же механизм с распределенным

В идеале я хотел бы установить что-то вроде:

DASK_SCHEDULER=distributed(scheduler_file=...)

как переменная окружения, которая будет эквивалентна выполнению client = Client(scheduler_file=...) в коде Python.

Это будет означать, что EXACT один и тот же код может быть запущен в разных средах (локальных и распределенных).

1 Ответ

0 голосов
/ 20 апреля 2019

Один из способов сделать это - добавить, чтобы передать планировщику аргумент; скажем, используя Argparse . Таким образом, вы могли бы иметь python my_script.py <ip:port>, если бы вы указали либо распределенный, либо <127.0.0.1:port> для локального.

...