Во время учебного сценария, выполняемого для цели вычислений, мы пытаемся загрузить зарегистрированный набор данных из хранилища данных ADLS2. Проблема в том, что для загрузки ~ 1,5 ГБ (разбитого на ~ 8500 файлов) в целевую вычислительную систему требуется часов следующим способом:
from azureml.core import Datastore, Dataset, Run, Workspace
# Retrieve the run context to get Workspace
RUN = Run.get_context(allow_offline=True)
# Retrieve the workspace
ws = RUN.experiment.workspace
# Creating the Dataset object based on a registered Dataset
dataset = Dataset.get_by_name(ws, name='my_dataset_registered')
# Download the Dataset locally
dataset.download(target_path='/tmp/data', overwrite=False)
Важное примечание: Набор данных регистрируется по пути в Datalake, который содержит множество подпапок (а также подпапок, ..), содержащих небольшие файлы размером около 170 КБ.
Примечание: I'm возможность загрузить полный набор данных на локальный компьютер в течение нескольких минут, используя az copy
или Storage Explorer. Кроме того, набор данных определяется на этапе папок с подстановочным знаком ** для сканирования подпапок: datalake/relative/path/to/folder/**
Это известная проблема? Как я могу улучшить скорость передачи?
Спасибо!