Импорт из поставщиков веб-каналов данных

В этой статье описывается, как использовать модуль Import Data (импорт данных ) в машинное обучение Azure Studio (классическая модель) для импорта данных, предоставленных в формате OData, в эксперимент машинного обучения.

Примечание

Применимо к: машинное обучение Studio (классическая модель)

Это содержимое относится только к Studio (классическая модель). Аналогичные модули перетаскивания были добавлены в конструктор Машинное обучение Azure. Дополнительные сведения см. в статье сравнение двух версий.

Создание конечной точки OData для набора данных — это один из способов сделать модель данных доступной для использования через URL-адрес. Можно также указать, какие операции OData будет поддерживать конечная точка. Дополнительные сведения о создании Odata конечных точек см. в разделе OData v4 (ASP.NET).

Импорт данных из веб-канала

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

Использование мастера импорта данных

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

  1. Добавьте модуль Импорт данных в эксперимент. Модуль можно найти в Studio (классическая модель) в категории входные и выходные данные .

  2. Щелкните запустить мастер импорта данных и следуйте инструкциям.

  3. После завершения настройки, чтобы фактически скопировать данные в эксперимент, щелкните модуль правой кнопкой мыши и выберите команду Выполнить выбранное.

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

Установка свойств вручную в модуле "Импорт данных"

Источник импорта также можно настроить вручную.

  1. Добавьте модуль Импорт данных в эксперимент. Этот модуль можно найти в студии (классическая модель) в категории входные и выходные данные .

  2. В качестве источника данных выберите поставщик канала данных.

  3. В поле тип содержимого данных выберите тип веб-канала. В настоящее время поддерживаются только конечные точки OData.

  4. В поле URL-адрес источника вставьте URL-адрес сайта, который предоставляет данные в требуемом формате.

    Например, следующая инструкция возвращает список продуктов из образца базы данных Northwind:

    https://services.odata.org/northwind/northwind.svc/Products

    Дополнительные сведения см. в разделе синтаксис OData.

  5. Выберите параметр использовать кэшированные результаты , если не требуется повторная загрузка данных после первого запуска. Это хороший вариант, если данные не должны изменяться между запусками эксперимента.

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

    Если необходимо регулярно обновлять данные, снимите этот флажок.

  6. Запустите эксперимент.

Результаты

По завершении щелкните выходной набор данных и выберите визуализировать , чтобы узнать, успешно ли импортированы данные.

Когда Импорт данных загружает данные веб-канала в Studio (классическая модель), он выводит тип данных каждого столбца на основе содержащихся в нем значений, числовых или категорий.

  • Если заголовок присутствует, то он используется для именования столбцов результирующего набора данных.

  • Если в данных нет заголовков столбцов, то новые имена столбцов создаются с использованием формата col1, col2,… ,coln .

Технические примечания

В этом разделе содержатся сведения о реализации, советы и ответы на часто задаваемые вопросы.

Синтаксис OData

Запрос должен возвращать плоскую таблицу. Сведение вложенных записей OData не поддерживается.

Некоторые столбцы, включаемые в каналы OData, могут иметь типы данных, которые не поддерживаются в студии (классическая модель), например десятичные знаки. Вы можете принять данные в виде строк и преобразовать их позже с помощью модулей выполнить сценарий R или редактор метаданных .

Дополнительные сведения о синтаксисе и URL-адресах OData см. в разделе OData.org-URI .

Часто задаваемые вопросы

Можно ли фильтровать данные по мере их считывания из источника?

Модуль Импорт данных обычно не поддерживает фильтрацию по мере считывания данных. Однако можно указать условие фильтра как часть URL-адреса ресурса канала.

Чтобы отфильтровать данные из веб-канала, используйте инструкции, поддерживаемые протоколом OData. Например, этот URL-адрес использует $filter выражение для получения только заказов, связанных с сотрудником с идентификатором, равным 1.

https://services.odata.org/Northwind/Northwind.svc/Orders?$filter=Employee/EmployeeID eq 1

Дополнительные примеры синтаксиса фильтров см. в разделе Использование выражений фильтров в URI OData.

Кроме того, можно получить все данные и отфильтровать их после загрузки в Машинное обучение Azure Studio (классическая модель):

  • Используйте пользовательский скрипт R для получения только нужных данных.

  • Используйте модуль Split Data (разделение данных ) с относительным выражением или регулярным выражением, чтобы изолировать нужные данные, а затем сохраните их как набор данных.

Примечание

Если вы загрузили больше данных, чем требуется, вы можете перезаписать кэшированный набор данных. Для этого необходимо считать новый набор данных и сохранить его под именем, идентичным имени большего, ранее записанного набора данных.

Я получаю сообщение об ошибке, для подключения к источнику OData необходимы учетные данные. Обновите и укажите учетные данные, чтобы продолжить. Как можно указать учетные данные? * *

Модуль Импорт данных поддерживает только конечные точки OData с анонимным доступом. Если службе OData требуются учетные данные, использовать параметр OData для получения данных нельзя.

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

В качестве обходного решения можно использовать PowerQuery или PowerPivot для чтения данных веб-канала и последующего получения данных из Excel.

Как избежать повторной загрузки одних и тех же данных?

При изменении исходных данных можно обновить набор данных и добавить новые данные путем повторного выполнения импорта данных. Однако если вы не хотите повторно считывать из источника при каждом запуске эксперимента, установите для параметра использовать кэшированные результаты значение true. Если этот параметр имеет значение TRUE, модуль проверит, не выполнялся ли в эксперименте тот же источник и те же параметры ввода, и если предыдущий запуск найден, то вместо повторной загрузки данных из источника используются данные в кэше.

Почему появляется сообщение об ошибке "тип Decimal не поддерживается"?

decimalТип данных не поддерживается в машинное обучение Azure. Причина в том, что Импорт данных не может автоматически выполнять преобразования, которые приведут к утрате точности.

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

В качестве обходного решения можно считать данные строкового типа, а затем использовать команду изменить метаданные для преобразования десятичных значений в поддерживаемые данные перед чтением данных.

Почему некоторые символы в веб-канале отображаются неправильно?

Машинное обучение Azure поддерживает кодировку UTF-8. Если источник использует другой тип кодирования, символы могут быть неправильно импортированы.

В качестве обходного решения можно сохранить данные в CSV-файл в хранилище таблиц Azure или хранилище BLOB-объектов Azure. Затем используйте параметр CSV с кодировкой , чтобы указать параметры для пользовательских разделителей, кодовую страницу и т. д.

Параметры модуля

Имя Диапазон Тип По умолчанию Описание
Источник данных Список Источник данных или приемник хранилище BLOB-объектов Azure Источник данных может быть HTTP, FTP, анонимным HTTPS или FTPS, файлом в хранилище BLOB-объектов Azure, таблицей Azure, базой данных SQL Azure, локальной SQL Server базой данных, таблицей Hive или конечной точкой OData.
Тип содержимого данных Список (подмножество) Содержимое URL-адреса OData Тип формата данных
URL-адрес источника any Строка URL-адрес источника данных Power Query
Использование кэшированных результатов True или false Логическое Ложь. description

Выходные данные

Имя Type Описание
Набор данных результатов Таблица данных Набор данных с загруженными данными

Исключения

Исключение Описание
Ошибка 0003 Исключение возникает, если один или несколько входных аргументов имеют значение NULL или пусты.
Ошибка 0029 Исключение возникает при передаче недопустимого универсального кода ресурса.
Ошибка 0030 Исключение возникает, когда не удается скачать файл.
Ошибка 0002 Исключение возникает, если один или несколько параметров не удалось проанализировать или преобразовать из заданного типа в необходимый для целевого метода тип.

Список ошибок, относящихся к модулям студии (классическая версия), см. в разделе машинное обучение коды ошибок.

Список исключений API см. в разделе Машинное обучение REST API коды ошибок.

См. также раздел

Импорт данных
Экспорт данных
Импорт из URL-адреса через HTTP
Импорт из запроса Hive
Импорт из базы данных SQL Azure
Импорт из таблицы Azure
Импорт из хранилища BLOB-объектов Azure
Импорт из локальной базы данных SQL Server