Подключение к 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.
Средства Data Lake для Visual Studio можно использовать для доступа к Azure Data Lake Analytics и HDInsight. Дополнительные сведения см. в статье Разработка скриптов U-SQL с помощью средств Data Lake для Visual Studio.
Необходимые компоненты
Для работы с этим руководством и использования средств Data Lake для Visual Studio потребуются следующие компоненты.
Кластер Azure HDInsight. Сведения о создании этого кластера см. в статье Краткое руководство. Использование Apache Hadoop и Apache Hive в Azure HDInsight с шаблоном Resource Manager. Чтобы выполнять интерактивные запросы Apache Hive, вам потребуется кластер с интерактивными запросами HDInsight.
Visual Studio. Visual Studio Community Edition предоставляется бесплатно. Приведенные здесь инструкции предназначены для Visual Studio 2019.
Install Data Lake Tools for 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 (в разделе Веб и облачная среда). Либо выберите рабочую нагрузку Хранение и обработка данных (в разделе Другие наборы инструментов).
Для Visual Studio 2015
Загрузите Data Lake Tools. Выберите версию средств Data Lake, которая соответствует вашей версии Visual Studio.
Обновите Data Lake Tools для Visual Studio
Затем обязательно обновите Data Lake Tools до последней версии.
Откройте Visual Studio.
В окне Пуск выберите Продолжить без кода.
В меню интегрированной среды разработки Visual Studio выберите Расширения>Управление расширениями.
В диалоговом окне Управление расширениями разверните узел Обновления.
Если список доступных обновлений включает Azure Data Lake и Stream Analytic Tools, выберите его. Затем нажмите кнопку Обновить. После того как откроется и исчезнет диалоговое окно Загрузка и установка, Visual Studio добавит в расписание обновления расширение Azure Data Lake и Stream Analytic Tools.
Закройте все окна Visual Studio. Откроется диалоговое окно Установщик VSIX.
Выберите Лицензия, чтобы прочитать условия лицензии, а затем нажмите кнопку Закрыть, чтобы вернуться в диалоговое окно Установщик VSIX.
Нажмите кнопку Изменить. Начинается установка обновления расширения. Через некоторое время диалоговое окно покажет, что внесение изменений завершено. Нажмите кнопку Закрыть, а затем перезапустите 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, сделайте следующее:
Откройте Visual Studio.
В окне Пуск выберите Продолжить без кода.
В меню среды разработки выберите Вид>Обозреватель сервера.
В окне Обозреватель сервера щелкните правой кнопкой мыши Azure, выберите Подключиться к подписке Microsoft Azure и завершите процесс проверки подлинности. В окне Обозреватель сервера разверните Azure>HDInsight, чтобы просмотреть список существующих кластеров HDInsight.
Если нет ни одного кластера, то его можно создать с помощью портала Azure, оболочки Azure PowerShell или пакета SDK для HDInsight. Дополнительные сведения см. в статье Установка кластеров в HDInsight.
Разверните кластер HDInsight. Кластер содержит узлы для баз данных Hive. Кроме того, здесь можно увидеть учетную запись хранения по умолчанию, учетные записи всех дополнительных связанных хранилищ данных и журнал службы Hadoop. Развертывание объектов можно продолжить.
После подключения к подписке Azure можно будет выполнить следующие задачи.
Подключение к Azure из Visual Studio
Чтобы подключиться к порталу Azure из Visual Studio, сделайте следующее:
В окне Обозреватель сервера разверните узел Azure>HDInsight и выберите свой кластер.
Щелкните правой кнопкой мыши кластер HDInsight, а затем выберите Управление кластером на портале Azure.
Как задать вопрос или написать отзыв из Visual Studio
Для отправки вопросов и отзывов из Visual Studio
В обозревателе сервера выберите Azure>HDInsight.
Щелкните правой кнопкой мыши HDInsight и выберите Форум MSDN, чтобы задать вопрос, либо Отправить отзыв, чтобы оставить отзыв.
Связывание или изменение кластера
Примечание.
В настоящее время единственный тип кластера HDInsight, с которым можно выполнить связку, — Hive.
Для связи с кластером HDInsight
Щелкните правой кнопкой мыши HDInsight и выберите Связать с кластером HDInsight, чтобы открыть диалоговое окно Связывание с кластером HDInsight.
Введите URL-адрес подключения в форме
https://CLUSTERNAME.azurehdinsight.net
. Имя кластера автоматически заполняется частью имени кластера из URL-адреса при переходе к другому полю. Затем введите Имя пользователя и Пароль, нажмите кнопку Далее.Выберите Готово. Если связывание с кластером прошло успешно, то кластер появится в узле HDInsight.
Чтобы обновить связанный кластер, щелкните его правой кнопкой мыши и выберите Изменить. Затем можно внести изменения в сведения о кластере.
Анализ связанных ресурсов
В обозревателе сервера отобразятся учетная запись хранения по умолчанию и все связанные учетные записи хранения. Если развернуть учетную запись хранения по умолчанию, отобразятся контейнеры в учетной записи хранения. Учетная запись хранения по умолчанию и контейнер по умолчанию отмечены.
Щелкните контейнер правой кнопкой мыши и выберите пункт Просмотреть контейнер, чтобы просмотреть содержимое контейнера. После открытия контейнера можно пользоваться кнопками на панели инструментов для того, чтобы Обновить список содержимого, Отправить большой двоичный объект, Удалить выбранные большие двоичные объекты, Открыть большой двоичный объект, а также загрузить (Сохранить как) выбранные большие двоичные объекты.
Выполнение интерактивных запросов 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.
В своем кластере выберите Базы данных Hive>По умолчанию.
Щелкните правой кнопкой мыши По умолчанию, а затем выберите Создать таблицу.
Настройка таблицы.
Нажмите кнопку Создать таблицу, чтобы отправить задание, которое создаст новую таблицу Hive.
Создание и выполнение запросов Hive
Есть два способа создания и выполнения запросов Hive.
- Создание ad-hoc-запросов
- Создание приложения Hive
Создание нерегламентированного запроса
Создание и выполнение нерегламентированного запроса
Правой кнопкой мыши щелкните кластер, в котором вы хотите выполнить запрос, и выберите Создать запрос Hive.
Введите запрос Hive.
Редактор Hive поддерживает технологию IntelliSense. Средства Data Lake для Visual Studio поддерживают загрузку удаленных метаданных при редактировании скрипта Hive. Например, если ввести
SELECT * FROM
, IntelliSense отобразит все предлагаемые имена таблиц. Если указано имя таблицы, IntelliSense выведет список имен столбцов. Эти инструменты поддерживают почти все инструкции, подзапросы и встроенные определяемые пользователем функции Hive DML.Примечание.
IntelliSense предлагает только метаданные кластеров, выбранных на панели инструментов HDInsight.
Ниже приведен пример запроса, который можно использовать.
SELECT devicemodel, COUNT(devicemodel) AS deviceCount FROM hivesampletable GROUP BY devicemodel ORDER BY devicemodel
Выберите режим выполнения.
Интерактивные руководства
В первом раскрывающемся списке выберите Интерактивный, а затем Выполнить.
Пакетная обработка
В первом раскрывающемся списке выберите Пакет и нажмите кнопку Отправить. Либо щелкните значок раскрывающегося списка рядом с пунктом Отправить и выберите Дополнительно.
Если выбран вариант "Дополнительно", то появляется диалоговое окно Отправка скрипта. Для скрипта можно настроить Имя задания, Аргументы, Дополнительные конфигурации и Каталог состояния.
Примечание.
Пакеты нельзя отправлять в кластеры Interactive Query. Необходимо использовать интерактивный режим.
Создание приложения Hive
Для создания и запуска решения Hive сделайте следующее:
В строке меню выберите Файл>Создать>Проект.
В окне Создание нового проекта выберите поле поиска и введите Hive. Затем выберите Hive Application (Приложение Hive) и нажмите кнопку Далее.
В окне Настройка нового проекта введите Имя проекта, выберите или создайте Расположение для проекта, а затем нажмите кнопку Создать.
В обозревателе решений дважды щелкните файл Script.hql, чтобы открыть его.
Просмотр сводных данных и вывода задания
Сводные данные по заданию незначительно отличаются для режимов Пакетный и Интерактивный.
Нажимайте кнопку Обновить, чтобы обновить состояние задания, пока оно не сменится на Завершено.
Чтобы получить сведения о задании в режиме Пакетный, выберите ссылку внизу, чтобы просмотреть Запрос задания, Вывод задания или Журнал задания, либо выберите Просмотреть журналы Yarn.
Чтобы получить сведения о задании в режиме Интерактивный, см. панели Вывод и Вывод HiveServer2.
Просмотр графа задания
В настоящее время графы отображаются только для заданий Hive, использующих Tez в качестве подсистемы выполнения. Дополнительные сведения о приложении Tez см. в статье Что такое Apache Hive и HiveQL в Azure HDInsight?. См. также статью Использование Apache Tez вместо сокращения карты.
Дважды щелкните вершину графа задания, чтобы увидеть все операторы внутри вершины. Можно выбрать также определенный оператор, чтобы увидеть о нем дополнительные сведения.
Даже если в качестве подсистемы выполнения указан Tez, граф задания может не отображаться, если приложение Tez не запущено. Это может произойти из-за того, что задание не содержит инструкций DML. Либо из-за того, что инструкции DML могут возвращаться без запуска приложения Tez. Например, SELECT * FROM table1
не запускает приложение Tez.
Сведения о выполнении задачи
В графе задания можно выбрать Сведения о выполнении задачи, чтобы получить структурированные и наглядные сведения о заданиях Hive. Можно также получить и более подробные сведения. При появлении проблем с производительностью представление можно использовать для получения дополнительных сведений о проблеме. Например, можно получить сведения о работе всех задач и подробную информацию о каждой из них (чтение и запись данных, время запланированного запуска и завершения и т. д.). Эти наглядные сведения помогут вам изменить конфигурацию задания или архитектуру системы.
Просмотр заданий Hive
Для заданий Hive можно просмотреть запросы задания, выходные данные задания, журнал задания и журналы YARN.
Последняя версия инструмента позволяет увидеть, что находится внутри заданий Hive, собирая и отображая журналы YARN. Журнал YARN может помочь исследовать проблемы производительности. Дополнительные сведения о том, как HDInsight собирает журналы YARN, см. в статье Доступ к журналам приложений YARN в HDInsight под управлением Windows.
Для просмотра заданий Hive сделайте следующее:
Щелкните кластер HDInsight правой кнопкой мыши, а затем выберите пункт Просмотреть задания.
Появится список заданий Hive, выполняющихся в кластере.
Выберите задание. В окне Сводка по заданию Hive выберите один из пунктов ниже.
- Запрос задания
- Выходные данные задания
- Журнал задания
- Журнал YARN
Запуск скриптов Apache Pig
В строке меню выберите Файл>Создать>Проект.
В начальном окне выберите поле поиска и введите Pig. Затем выберите Приложение Pig и нажмите кнопку Далее.
В диалоговом окне Настроить новый проект введите Имя проекта, а затем создайте или задайте Расположение для проекта. Затем выберите Создать.
На панели среды разработки Обозреватель решений дважды щелкните Script.pig, чтобы открыть скрипт.
Отзывы и известные проблемы
Проблема, при которой результаты, начинающиеся со значений Null, не отображались, исправлена. Если эта проблема мешает вам работать, обратитесь в нашу службу поддержки.
Скрипт HQL, созданный Visual Studio, будет иметь кодировку, которая зависит от региональных настроек пользователя. Скрипт выполняется неправильно, если вы загружаете его в кластер как двоичный файл.
Следующие шаги
Из этой статьи вы узнали, как подключаться к кластерам HDInsight из Visual Studio, используя пакет средств Data Lake для Visual Studio, и выполнять запросы Hive.
- Run Apache Hive queries using the Data Lake tools for Visual Studio (Выполнение запросов Apache Hive с использованием средств Data Lake для Visual Studio)
- Что такое Apache Hive и HiveQL в Azure HDInsight?
- Создание кластера Apache Hadoop — шаблон
- Отправка заданий Hadoop в HDInsight
- Анализ данных Twitter с помощью Apache Hive и Apache Hadoop в HDInsight