Подключение к Azure HDInsight и выполнение запросов Apache Hive с помощью средств Data Lake для Visual Studio

Узнайте, как использовать Microsoft Azure Data Lake и средства Stream Analytics для Visual Studio (Data Lake Tools). Это средство служит для подключения к кластерам Apache Hadoop в Azure HDInsight и отправки запросов Hive.

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

Сведения о подключении к Apache Storm см. в статье Разработка топологий на C# для Apache Storm с помощью Data Lake Tools.

Средства Data Lake для Visual Studio можно использовать для доступа к Azure Data Lake Analytics и HDInsight. Дополнительные сведения см. в статье Разработка скриптов U-SQL с помощью средств Data Lake для Visual Studio.

Предварительные требования

Для работы с этим руководством и использования средств Data Lake для Visual Studio потребуются следующие компоненты.

Установка инструментов Data Lake для Visual Studio

Выполните соответствующие инструкции, чтобы установить средства Data Lake для своей версии Visual Studio.

  • Visual Studio 2017 или Visual Studio 2019

    Во время установки Visual Studio убедитесь, что включены рабочие нагрузки Разработка Azure и Хранение и обработка данных.

    Для существующих установок Visual Studio перейдите в строку меню интегрированной среды разработки и выберите Сервис>Получить средства и компоненты, чтобы открыть установщик Visual Studio Installer. На вкладке Рабочие нагрузки выберите как минимум рабочую нагрузку Разработка Azure (в разделе Веб &и облачная среда). Либо выберите рабочую нагрузку Хранение и обработка данных (в разделе Другие наборы инструментов).

    Workload selection, Visual Studio Installer

  • Для Visual Studio 2015

    Загрузите Data Lake Tools. Выберите версию средств Data Lake, которая соответствует вашей версии Visual Studio.

Обновите Data Lake Tools для Visual Studio

Затем обязательно обновите Data Lake Tools до последней версии.

  1. Запустите Visual Studio.

  2. В окне Пуск выберите Продолжить без кода.

  3. В меню интегрированной среды разработки Visual Studio выберите Расширения>Управление расширениями.

  4. В диалоговом окне Управление расширениями разверните узел Обновления.

  5. Если список доступных обновлений включает Azure Data Lake и Stream Analytic Tools, выберите его. Затем нажмите кнопку Обновить. После того как откроется и исчезнет диалоговое окно Загрузка и установка, Visual Studio добавит в расписание обновления расширение Azure Data Lake и Stream Analytic Tools.

  6. Закройте все окна Visual Studio. Откроется диалоговое окно Установщик VSIX.

  7. Выберите Лицензия, чтобы прочитать условия лицензии, а затем нажмите кнопку Закрыть, чтобы вернуться в диалоговое окно Установщик VSIX.

  8. Нажмите кнопку Изменить. Начинается установка обновления расширения. Через некоторое время диалоговое окно покажет, что внесение изменений завершено. Нажмите кнопку Закрыть, а затем перезапустите Visual Studio, чтобы завершить установку.

Примечание

Чтобы подключиться к кластерам Interactive Query и выполнять интерактивные запросы Hive, можно использовать средства Data Lake только версии 2.3.0.0 или более поздней.

Подключение к подпискам Azure

Data Lake Tools для Visual Studio позволяют подключаться к кластерам HDInsight, выполнять некоторые базовые операции управления и запросы Hive.

Примечание

Дополнительные сведения о подключении к универсальному кластеру Hadoop см. в статье Создание и отправка запросов Hive с помощью Visual Studio.

Подключение к подписке Azure

Чтобы подключиться к подписке Azure, сделайте следующее:

  1. Запустите Visual Studio.

  2. В окне Пуск выберите Продолжить без кода.

  3. В меню среды разработки выберите Вид>Обозреватель сервера.

  4. В окне Обозреватель сервера щелкните правой кнопкой мыши Azure, выберите Подключиться к подписке Microsoft Azure и завершите процесс проверки подлинности. В окне Обозреватель сервера разверните Azure>HDInsight, чтобы просмотреть список существующих кластеров HDInsight.

  5. Если нет ни одного кластера, то его можно создать с помощью портала Azure, оболочки Azure PowerShell или пакета SDK для HDInsight. Дополнительные сведения см. в статье Установка кластеров в HDInsight.

    HDInsight cluster list, Server Explorer, Visual Studio

  6. Разверните кластер HDInsight. Кластер содержит узлы для баз данных Hive. Кроме того, здесь можно увидеть учетную запись хранения по умолчанию, учетные записи всех дополнительных связанных хранилищ данных и журнал службы Hadoop. Развертывание объектов можно продолжить.

После подключения к подписке Azure можно будет выполнить следующие задачи.

Подключение к Azure из Visual Studio

Чтобы подключиться к порталу Azure из Visual Studio, сделайте следующее:

  1. В окне Обозреватель сервера разверните узел Azure>HDInsight и выберите свой кластер.

  2. Щелкните правой кнопкой мыши кластер HDInsight, а затем выберите Управление кластером на портале Azure.

Как задать вопрос или написать отзыв из Visual Studio

Для отправки вопросов и отзывов из Visual Studio

  1. В обозревателе сервера выберите Azure>HDInsight.

  2. Щелкните правой кнопкой мыши HDInsight и выберите Форум MSDN, чтобы задать вопрос, либо Отправить отзыв, чтобы оставить отзыв.

Примечание

В настоящее время единственный тип кластера HDInsight, с которым можно выполнить связку, — Hive.

Для связи с кластером HDInsight

  1. Щелкните правой кнопкой мыши HDInsight и выберите Связать с кластером HDInsight, чтобы открыть диалоговое окно Связывание с кластером HDInsight.

  2. Введите URL-адрес подключения в форме https://CLUSTERNAME.azurehdinsight.net. Имя кластера автоматически заполняется частью имени кластера из URL-адреса при переходе к другому полю. Затем введите Имя пользователя и Пароль, нажмите кнопку Далее.

    Link a cluster, HDInsight, Visual Studio

  3. Нажмите кнопку Готово. Если связывание с кластером прошло успешно, то кластер появится в узле HDInsight.

Чтобы обновить связанный кластер, щелкните его правой кнопкой мыши и выберите Изменить. Затем можно внести изменения в сведения о кластере.

Edit a linked cluster, HDInsight, Visual Studio

Анализ связанных ресурсов

В обозревателе сервера отобразятся учетная запись хранения по умолчанию и все связанные учетные записи хранения. Если развернуть учетную запись хранения по умолчанию, отобразятся контейнеры в учетной записи хранения. Учетная запись хранения по умолчанию и контейнер по умолчанию отмечены.

Data Lake Tools for Visual Studio linked resources in Server Explorer

Щелкните контейнер правой кнопкой мыши и выберите пункт Просмотреть контейнер, чтобы просмотреть содержимое контейнера. После открытия контейнера можно пользоваться кнопками на панели инструментов для того, чтобы Обновить список содержимого, Отправить большой двоичный объект, Удалить выбранные большие двоичные объекты, Открыть большой двоичный объект, а также загрузить (Сохранить как) выбранные большие двоичные объекты.

Container list and blob operations, HDInsight cluster, Visual Studio

Выполнение интерактивных запросов Apache Hive

Apache Hive — это инфраструктура хранилища данных, встроенная в Hadoop. Hive используется, чтобы обобщать, запрашивать и анализировать данные. Средства Data Lake для Visual Studio поддерживают выполнение запросов Hive из Visual Studio. Дополнительные сведения о Hive см. в статье Что такое Apache Hive и HiveQL в Azure HDInsight?.

Interactive Query в Azure HDInsight использует Hive на LLAP в Apache Hive 2.1. Interactive Query обеспечивает интерактивность для сложных запросов в стиле хранилища данных для больших хранимых наборов данных. Запросы Hive в Interactive Query выполняются гораздо быстрее, чем традиционные пакетные задания Hive.

Примечание

Выполнение интерактивных запросов Hive поддерживается только при подключении к кластеру интерактивных запросов HDInsight.

С помощью Data Lake Tools для Visual Studio можно также рассмотреть задание Hive изнутри. Средства Data Lake для Visual Studio собирают и обрабатывают журналы YARN определенных заданий Hive.

В окне Обозреватель сервера разверните узел Azure>HDInsight и выберите свой кластер. Этот узел является отправной точкой в окне Обозреватель сервера для выбора разделов.

Просмотр таблицы hivesampletable

Все кластеры HDInsight содержат пример таблицы Hive по умолчанию, который называется hivesampletable.

В своем кластере выберите Базы данных Hive>По умолчанию>hivesampletable.

  • Просмотр схемы hivesampletable

    Разверните hivesampletable. Отображаются имена и типы данных столбцов hivesampletable.

  • Просмотр данных hivesampletable

    Щелкните hivesampletable правой кнопкой мыши и выберите Просмотреть верхние 100 строк. Список из 100 результатов появится в окне Таблица Hive: hivesampletable. Это действие эквивалентно выполнению следующего запроса Hive через ODBC-драйвер Hive:

    SELECT * FROM hivesampletable LIMIT 100

    Количество строк можно настроить путем изменения параметра Число строк. В раскрывающемся списке можно выбрать 50, 100, 200 или 1000 строк.

Создание таблиц Hive

Таблицу Hive можно создать с помощью графического интерфейса пользователя (GUI) или запросов Hive. Дополнительные сведения об использовании запросов Hive см. в разделе Создание и выполнение запросов Hive.

  1. В своем кластере выберите Базы данных Hive>По умолчанию.

  2. Щелкните правой кнопкой мыши По умолчанию, а затем выберите Создать таблицу.

  3. Настройка таблицы.

  4. Нажмите кнопку Создать таблицу, чтобы отправить задание, которое создаст новую таблицу Hive.

    Create Table window, Hive, HDInsight cluster, Visual Studio

Создание и выполнение запросов Hive

Есть два способа создания и выполнения запросов Hive.

  • Создание ad-hoc-запросов
  • Создание приложения Hive

Создание нерегламентированного запроса

Создание и выполнение нерегламентированного запроса

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

  2. Введите запрос Hive.

    Редактор Hive поддерживает технологию IntelliSense. Средства Data Lake для Visual Studio поддерживают загрузку удаленных метаданных при редактировании скрипта Hive. Например, если ввести SELECT * FROM, IntelliSense отобразит все предлагаемые имена таблиц. Если указано имя таблицы, IntelliSense выведет список имен столбцов. Эти инструменты поддерживают почти все инструкции, подзапросы и встроенные определяемые пользователем функции Hive DML.

    IntelliSense example 1, Hive ad-hoc query, HDInsight cluster, Visual Studio

    IntelliSense example 2, Hive ad-hoc query, HDInsight cluster, Visual Studio

    Примечание

    IntelliSense предлагает только метаданные кластеров, выбранных на панели инструментов HDInsight.

    Ниже приведен пример запроса, который можно использовать.

    SELECT devicemodel, COUNT(devicemodel) AS deviceCount
    FROM hivesampletable
    GROUP BY devicemodel
    ORDER BY devicemodel
    
  3. Выберите режим выполнения.

    • Интерактивный

      В первом раскрывающемся списке выберите Интерактивный, а затем Выполнить.

      Interactive mode, Hive ad-hoc query, HDInsight cluster, Visual Studio

    • Пакетная служба

      В первом раскрывающемся списке выберите Пакет и нажмите кнопку Отправить. Либо щелкните значок раскрывающегося списка рядом с пунктом Отправить и выберите Дополнительно.

      Batch mode, Hive ad-hoc query, HDInsight cluster, Visual Studio

      Если выбран вариант "Дополнительно", то появляется диалоговое окно Отправка скрипта. Для скрипта можно настроить Имя задания, Аргументы, Дополнительные конфигурации и Каталог состояния.

      Submit Script dialog box, Hive ad-hoc query, HDInsight cluster, Visual Studio

      Примечание

      Пакеты нельзя отправлять в кластеры Interactive Query. Необходимо использовать интерактивный режим.

Создание приложения Hive

Для создания и запуска решения Hive сделайте следующее:

  1. В строке меню выберите Файл>Создать>Проект.

  2. В окне Создание нового проекта выберите поле поиска и введите Hive. Затем выберите Приложение Hive и нажмите кнопку Далее.

  3. В окне Настройка нового проекта введите Имя проекта, выберите или создайте Расположение для проекта, а затем нажмите кнопку Создать.

    New Hive application, Configure your new project window, HDInsight Visual Studio

  4. В обозревателе решений дважды щелкните файл Script.hql, чтобы открыть его.

Просмотр сводных данных и вывода задания

Сводные данные по заданию незначительно отличаются для режимов Пакетный и Интерактивный.

Hive job summary windows, batch and interactive mode, Visual Studio

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

  • Чтобы получить сведения о задании в режиме Пакетный, выберите ссылку внизу, чтобы просмотреть Запрос задания, Вывод задания или Журнал задания, либо выберите Просмотреть журналы Yarn.

  • Чтобы получить сведения о задании в режиме Интерактивный, см. панели Вывод и Вывод HiveServer2.

    Hive interactive job output, HDInsight cluster, Visual Studio

Просмотр графа задания

В настоящее время графы отображаются только для заданий Hive, использующих Tez в качестве подсистемы выполнения. Дополнительные сведения о приложении Tez см. в статье Что такое Apache Hive и HiveQL в Azure HDInsight?. См. также статью Использование Apache Tez вместо сокращения карты.

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

Даже если в качестве подсистемы выполнения указан Tez, граф задания может не отображаться, если приложение Tez не запущено. Это может произойти из-за того, что задание не содержит инструкций DML. Либо из-за того, что инструкции DML могут возвращаться без запуска приложения Tez. Например, SELECT * FROM table1 не запускает приложение Tez.

Apache Hive job graph, Visual Studio

Сведения о выполнении задачи

В графе задания можно выбрать Сведения о выполнении задачи, чтобы получить структурированные и наглядные сведения о заданиях Hive. Можно также получить и более подробные сведения. При появлении проблем с производительностью представление можно использовать для получения дополнительных сведений о проблеме. Например, можно получить сведения о работе всех задач и подробную информацию о каждой из них (чтение и запись данных, время запланированного запуска и завершения и т. д.). Эти наглядные сведения помогут вам изменить конфигурацию задания или архитектуру системы.

Task Execution View window, Data Lake Visual Studio Tools

Просмотр заданий Hive

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

Последняя версия инструмента позволяет увидеть, что находится внутри заданий Hive, собирая и отображая журналы YARN. Журнал YARN может помочь исследовать проблемы производительности. Дополнительные сведения о том, как HDInsight собирает журналы YARN, см. в статье Доступ к журналам приложений YARN в HDInsight под управлением Windows.

Для просмотра заданий Hive сделайте следующее:

  1. Щелкните кластер HDInsight правой кнопкой мыши, а затем выберите пункт Просмотреть задания.

    View Jobs, Apache Hive, HDInsight cluster, Visual Studio

    Появится список заданий Hive, выполняющихся в кластере.

  2. Выберите задание. В окне Сводка по заданию Hive выберите один из пунктов ниже.

    • Запрос задания
    • Выходные данные задания
    • Журнал задания
    • Журнал YARN

Запуск скриптов Apache Pig

  1. В строке меню выберите Файл>Создать>Проект.

  2. В начальном окне выберите поле поиска и введите Pig. Затем выберите Приложение Pig и нажмите кнопку Далее.

  3. В диалоговом окне Настроить новый проект введите Имя проекта, а затем создайте или задайте Расположение для проекта. Щелкните Создать.

  4. На панели среды разработки Обозреватель решений дважды щелкните Script.pig, чтобы открыть скрипт.

Отзывы и известные проблемы

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

  • Скрипт HQL, созданный Visual Studio, будет иметь кодировку, которая зависит от региональных настроек пользователя. Скрипт выполняется неправильно, если вы загружаете его в кластер как двоичный файл.

Дальнейшие действия

Из этой статьи вы узнали, как подключаться к кластерам HDInsight из Visual Studio, используя пакет средств Data Lake для Visual Studio, и выполнять запросы Hive.