Экспорт в запрос Hive

Примечание

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

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

В этой статье описывается, как использовать параметр Экспорт данных в Hive в модуле экспорт данных в машинное обучение Azure Studio (классическая модель). Этот параметр полезен при работе с очень большими наборами данных и необходимости сохранять данные экспериментов машинного обучения в кластере Hadoop или распределенное хранилище HDInsight. Также может потребоваться экспортировать промежуточные результаты или другие данные в Hadoop, чтобы их можно было обработать с помощью задания MapReduce.

Экспорт данных в Hive

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

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

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

  3. В поле имя таблицы Hive введите имя таблицы Hive, в которой будет храниться набор данных.

  4. В текстовом поле URI сервера HCatalog введите полное имя кластера.

    Например, если вы создали кластер с именем mycluster001 , используйте следующий формат:

    https://mycluster001.azurehdinsight.net

  5. В текстовом поле имя учетной записи пользователя Hadoop вставьте учетную запись пользователя Hadoop, которая использовалась при подготовке кластера.

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

  7. Для расположения выходных данных выберите параметр, указывающий, где должны храниться данные: HDFS или Azure.

    Если данные находятся в распределенной файловой системе Hadoop (HDFS), они должны быть доступны с использованием только что введенной учетной записи и пароля.

    Если данные находятся в Azure, укажите расположение и учетные данные учетной записи хранения.

  8. Если вы выбрали параметр HDFS , то для URI сервера HDFS укажите имя кластера HDInsight без https:// префикса.

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

    • Имя учетной записи хранения Azure: введите имя учетной записи Azure. Например, если полный URL-адрес учетной записи хранения — https://myshared.blob.core.windows.net , введите myshared .

    • Ключ хранилища Azure: Скопируйте и вставьте ключ, предоставленный для доступа к учетной записи хранения.

    • Имя контейнера Azure: укажите контейнер по умолчанию для кластера. Советы и сведения о том, как определить контейнер по умолчанию, см. в разделе Технические примечания .

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

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

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

Примеры

Примеры использования модуля Export Data см. в Коллекция решений ии Azure.

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

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

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

Как избежать проблем с нехваткой памяти при записи больших наборов данных

Иногда конфигурация кластера Hadoop по умолчанию слишком ограничена для поддержки выполнения задания MapReduce. Например, в этих заметках о выпуске для HDInsight параметры по умолчанию определяются как кластер из четырех узлов.

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

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

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

Советы по использованию

Определить контейнер по умолчанию для кластера может быть трудно. Ниже приведен ряд советов.

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

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

    Существующий контейнер. Если вы выбрали существующий контейнер, этот контейнер является контейнером хранилища по умолчанию для кластера.

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

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

Имя Диапазон Тип По умолчанию Описание
Источник данных Список Источник данных или приемник хранилище BLOB-объектов Azure Источником данных может быть HTTP, FTP, анонимные HTTPS или FTPS, файл в хранилище больших двоичных объектов Azure, таблица Azure, базы данных SQL Azure, таблица Hive или конечная точка OData.
Имя таблицы Hive any Строка нет Имя таблицы в Hive
URI сервера HCatalog any Строка нет Конечная точка Templeton
Имя учетной записи пользователя Hadoop any Строка нет Имя пользователя Hadoop HDFS/HDInsight
Пароль учетной записи пользователя Hadoop any SecureString нет Пароль Hadoop HDFS/HDInsight
Расположение выходных данных any Расположение на складе HDFS Указание HDFS или Azure для outputDir
URI HDFS-сервера any Строка нет Конечная точка RESTful HDFS
Имя учетной записи хранения Azure any Строка нет Имя учетной записи хранения Azure
Ключ к хранилищу Azure any SecureString нет Ключ к хранилищу Azure
Имя контейнера Azure any Строка нет Имя контейнера Azure
Использование кэшированных результатов True или false Логическое Ложь. Модуль выполняется только в том случае, если не существует допустимого кэша. в противном случае используйте кэшированные данные из предыдущих выполнений.

Исключения

Исключение Описание
Ошибка 0027 Исключение возникает, если два объекта должны быть одинакового размера, но это не так.
Ошибка 0003 Исключение возникает, если один или несколько входных аргументов имеют значение NULL или пусты.
Ошибка 0029 Исключение возникает при передаче недопустимого универсального кода ресурса.
Ошибка 0030 Исключение возникает, когда не удается скачать файл.
Ошибка 0002 Исключение возникает, если один или несколько параметров не удалось проанализировать или преобразовать из заданного типа в необходимый для целевого метода тип.
Ошибка 0009 Исключение возникает, если имя учетной записи хранилища Azure или имя контейнера указаны неверно.
Ошибка 0048 Исключение возникает, когда не удается открыть файл.
Ошибка 0046 Исключение возникает, если не удается создать каталог по указанному пути.
Ошибка 0049 Исключение возникает, когда не удается проанализировать файл.

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

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

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

Импорт данных
Экспорт данных
Экспорт в базу данных SQL Azure
Экспорт в хранилище BLOB-объектов Azure
Экспорт в таблицу Azure