Импорт ресурсов данных (предварительная версия)

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)

Из этой статьи вы узнаете, как импортировать данные в платформу Машинное обучение Azure из внешних источников. Успешный импорт данных автоматически создает и регистрирует Машинное обучение Azure ресурс данных с именем, указанным во время этого импорта. Ресурс данных Машинное обучение Azure напоминает закладку веб-браузера (избранное). Вам не нужно запоминать длинные пути хранения (URI), указывающие на наиболее часто используемые данные. Вместо этого можно создать ресурс данных, а затем получить доступ к ним с понятным именем.

Импорт данных создает кэш исходных данных, а также метаданные для быстрого и надежного доступа к данным в заданиях обучения Машинное обучение Azure. Кэш данных избегает ограничений сети и подключений. Кэшированные данные версии поддерживают воспроизводимость. Это обеспечивает возможности управления версиями для данных, импортированных из источников SQL Server. Кроме того, кэшированные данные предоставляют данные для задач аудита. Импорт данных использует ADF (Фабрика данных Azure конвейеры) за кулисами, что означает, что пользователи могут избежать сложного взаимодействия с ADF. За кулисами Машинное обучение Azure также обрабатывает управление размером пула вычислительных ресурсов ADF, подготовкой вычислительных ресурсов и сносом данных для оптимизации передачи данных путем определения правильной параллелизации.

Передаваемые данные секционируются и безопасно хранятся в виде файлов parquet в хранилище Azure. Это позволяет ускорить обработку во время обучения. Затраты на вычисления ADF включают только время, используемое для передачи данных. Затраты на хранение включают только время, необходимое для кэширования данных, так как кэшированные данные являются копией данных, импортированных из внешнего источника. Хранилище Azure размещает внешний источник.

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

Вы можете импортировать данные из Amazon S3, SQL Azure и Snowflake.

Внимание

Эта функция сейчас доступна в виде общедоступной предварительной версии. Эта предварительная версия предоставляется без соглашения об уровне обслуживания. Ее не следует использовать для производственных рабочих нагрузок. Некоторые функции могут не поддерживаться или их возможности могут быть ограничены.

Дополнительные сведения см. в статье Дополнительные условия использования Предварительных версий Microsoft Azure.

Необходимые компоненты

Для создания ресурсов данных и работы с ними требуются компоненты, указанные ниже.

Примечание.

Для успешного импорта данных убедитесь, что установлен последний пакет azure-ai-ml (версия 1.15.0 или более поздней версии) для пакета SDK, а также расширение ml (версия 2.15.1 или более поздняя).

Если у вас есть более старый пакет SDK или расширение CLI, удалите старый и установите новый с кодом, показанным в разделе вкладки. Следуйте инструкциям по пакету SDK и CLI, как показано здесь:

Версии кода

az extension remove -n ml
az extension add -n ml --yes
az extension show -n ml #(the version value needs to be 2.15.1 or later)

Импорт из внешней базы данных в качестве ресурса данных mltable

Примечание.

Внешние базы данных могут иметь форматы Snowflake, SQL Azure и т. д.

Следующие примеры кода могут импортировать данные из внешних баз данных. Функция connection , которая обрабатывает действие импорта, определяет метаданные внешнего источника данных базы данных. В этом примере код импортирует данные из ресурса Snowflake. Подключение указывает на источник Snowflake. При небольшом изменении подключение может указывать на источник базы данных SQL Azure и источник базы данных SQL Azure. Импортированный ресурс type из внешнего источника базы данных.mltable

YAML Создание файла<file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# Datastore: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: mltable
name: <name>
source:
  type: database
  query: <query>
  connection: <connection>
path: <path>

Затем выполните следующую команду в CLI:

> az ml data import -f <file-name>.yml

Импорт данных из внешней файловой системы в качестве ресурса данных папки

Примечание.

Ресурс данных Amazon S3 может служить внешним ресурсом файловой системы.

Обработка connection действия импорта данных определяет аспекты внешнего источника данных. Подключение определяет контейнер Amazon S3 в качестве целевого объекта. Подключение ожидает допустимого path значения. Значение ресурса, импортированное из внешнего источника файловой системы, имеет значение type uri_folder.

Следующий пример кода импортирует данные из ресурса Amazon S3.

YAML Создание файла<file-name>.yml:

$schema: http://azureml/sdk-2-0/DataImport.json
# Supported connections include:
# Connection: azureml:<workspace_connection_name>
# Supported paths include:
# path: azureml://datastores/<data_store_name>/paths/<my_path>/${{name}}


type: uri_folder
name: <name>
source:
  type: file_system
  path: <path_on_source>
  connection: <connection>
path: <path>

Затем выполните следующую команду в интерфейсе командной строки:

> az ml data import -f <file-name>.yml

Проверка состояния импорта внешних источников данных

Действие импорта данных — это асинхронное действие. Это может занять много времени. После отправки действия импорта данных с помощью интерфейса командной строки или пакета SDK служба Машинное обучение Azure может потребовать несколько минут для подключения к внешнему источнику данных. Затем служба запустит импорт данных и обработает кэширование и регистрацию данных. Время, необходимое для импорта данных, также зависит от размера исходного набора данных.

В следующем примере возвращается состояние действия импорта отправленных данных. Команда или метод используют имя ресурса данных в качестве входных данных для определения состояния материализации данных.

> az ml data list-materialization-status --name <name>

Следующие шаги