Путаница в отношении кластерного планировщика и распределенного планировщика для одной машины - PullRequest
0 голосов
/ 28 июня 2018

В приведенном ниже коде, почему dd.read_csv работает на кластере? client.read_csv должен работать в кластере.

import dask.dataframe as dd
from dask.distributed import Client

client=Client('10.31.32.34:8786')
dd.read_csv('file.csv',blocksize=10e7)
dd.compute()

Это тот случай, когда после создания клиентского объекта все вызовы API будут выполняться в кластере?

Ответы [ 2 ]

0 голосов
/ 28 июня 2018

В дополнение к первому ответу:

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

  • для конкретного вычисления,

    dd.compute(scheduler='threads')
    
  • для черного кода,

    with dask.config.set(scheduler='threads'):
        dd.compute()
    
  • до дальнейшего уведомления,

    dask.config.set(scheduler='threads')
    dd.compute()
    

См. http://dask.pydata.org/en/latest/scheduling.html

0 голосов
/ 28 июня 2018

Коммнада dd.read_csv('file.csv', blocksize==1e8) сгенерирует много команд pd.read_csv(...), каждая из которых будет работать на ваших рабочих. Каждая задача будет искать файл file.csv, искать какое-то место в этом файле, определенном вашим размером блока, и считывать эти байты, чтобы создать кадр данных pandas. Файл file.csv должен быть универсально представлен для каждого работника.

Обычно люди используют файлы, которые находятся в общедоступном хранилище, например в сетевой файловой системе, базе данных или хранилище облачных объектов.

...