Как разместить набор данных в кластере gcloud kubernetes?

У меня инициализирован кластер gcloud Kubernetes, и я использую Dask Client на моем локальном компьютере для подключения к кластеру, но я не могу найти никакой документации о том, как загрузить свой набор данных в кластер.

Первоначально я пытался просто запустить Dask локально с моим набором данных, загруженным в мою локальную оперативную память, но, очевидно, что он отправляет его по сети, и кластер работает только с 2% -ным использованием при выполнении задачи.

Есть ли способ разместить набор данных в кластере Kubernetes, чтобы получить 100% загрузку ЦП?


person Brendan Martin    schedule 05.04.2018    source источник


Ответы (1)


Многие люди хранят данные в хранилище облачных объектов, например Amazon S3, Google Cloud Storage.

Если вас интересует, в частности, Dask, эти хранилища данных поддерживаются в большинстве функций приема данных с использованием протокола, подобного следующему:

import dask.dataframe as dd
df = dd.read_csv('gcs://bucket/2018-*-*.csv')

Вам также потребуется установить соответствующую библиотеку Python для доступа к этому облачному хранилищу (в данном случае gcsfs). См. http://dask.pydata.org/en/latest/remote-data-services.html#known-storage-implementations для получения дополнительной информации.

person MRocklin    schedule 05.04.2018
comment
Благодарю. Итак, если я использую этот метод в своем локальном блокноте Jupyter, будет ли он загружаться в кластер вместо того, чтобы сначала проходить через мой компьютер? - person Brendan Martin; 05.04.2018
comment
Загрузка данных будет происходить в воркерах кластера. Локальному клиенту также потребуется доступ к хранилищу данных, чтобы найти количество файлов и загрузить любые метаданные, обычно с гораздо меньшей пропускной способностью. - person mdurant; 05.04.2018
comment
@mdurant @mrocklin Итак, у меня есть Dask, читающий мой набор данных корзины, но когда я запускаю его в кластере, я получаю следующее: /opt/conda/envs/dask/lib/python3.6/site-packages/distributed/protocol/pickle.py in loads() ModuleNotFoundError: No module named 'gcsfs' - person Brendan Martin; 06.04.2018
comment
Я рекомендую запускать pip install gcsfs или conda install gcsfs везде, где установлены ваши рабочие. Если вы используете dask-kubernetes, просмотрите использование переменной среды EXTRA_PIP_PACKAGES в quickstart - person MRocklin; 06.04.2018