Добавление пользовательских библиотек Apache Hive при создании кластера HDInsight
Дополнительные сведения о предварительной загрузке библиотек Apache Hive в HDInsight. Этот документ содержит сведения об использовании действия скрипта по предварительной загрузке библиотек во время создания кластера. Библиотеки, добавляемые с помощью инструкций в этом документе, глобально доступны в Hive. Для их загрузки нет необходимости использовать ADD JAR.
Принцип работы
При создании кластера действие скрипта можно использовать для изменения создаваемых узлов кластера. Скрипт в этом документе принимает один параметр, определяющий расположение библиотек. Это расположение должно быть в пределах учетной записи хранилища Azure, а библиотеки должны быть в формате JAR.
Во время создания кластера сценарий перечисляет файлы, копирует их в каталог /usr/lib/customhivelibs/
на головных и рабочих узлах, а затем добавляет их в свойство hive.aux.jars.path
в файле core-site.xml
. Для кластеров под управлением Linux он также обновляет файл hive-env.sh
расположением файлов.
Действие скрипта в этой статье делает библиотеки доступными при использовании клиента Hive для WebHCat и HiveServer2.
Сценарий
Расположение скрипта
https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1
Требования
Скрипты необходимо применять к головным узлам и рабочим узлам.
JAR-файлы, которые нужно установить, должны храниться в хранилище BLOB-объектов Azure в одном контейнере.
Учетная запись хранилища, содержащая библиотеку JAR-файлов, должна быть связана с кластером HDInsight во время создания. Это должна быть учетная запись хранения по умолчанию или учетная запись, добавленная с помощью настроек учетной записи хранения.
Путь WASB к контейнеру необходимо указать в виде параметра для действия сценария. Например, если JAR-файлы хранятся в контейнере libs в учетной записи хранения mystorage, то параметром будет
wasbs://libs@mystorage.blob.core.windows.net/
.Примечание
В этом документе предполагается, что вы уже создали учетную запись хранения и контейнер BLOB-объектов, а также отправили в него файлы.
Если учетная запись хранения не создана, создайте ее на портале Azure. Затем с помощью служебной программы, например Azure Storage Explorer, в учетной записи можно создать контейнер и передать в него файлы.
Создание кластера с помощью сценария
Начните подготовку кластера с помощью действий, описанных в статье Создание кластеров Hadoop под управлением Linux в HDInsight, но не завершайте ее. Для создания кластера с помощью этого сценария также можно использовать Azure PowerShell или пакет SDK HDInsight для .NET. Дополнительные сведения об использовании этих методов см. в статье Настройка кластеров HDInsight под управлением Linux с помощью действия сценария. На портале Azure на вкладке Настройка и цены выберите + Добавить действие скрипта.
Если учетная запись хранения, содержащая библиотеку JAR-файлов, будет отличаться от учетной записи, используемой для кластера, для хранилища укажите данные в разделе дополнительных учетных записей хранения.
В разделе Действия скрипта введите следующие сведения:
Свойство Значение Тип скрипта - Custom Имя Библиотеки URI bash-скрипта https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
Типы узлов Головной, рабочий Параметры введите адрес WASB к контейнеру и учетной записи хранения, содержащий JAR-файлы Например, wasbs://libs@mystorage.blob.core.windows.net/
.Примечание
Для Apache Spark 2.1 используйте следующий URI скрипта Bash:
https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh
.Продолжите подготовку кластера, как описано в статье Создание кластеров Hadoop под управлением Linux в HDInsight.
После создания кластера вы сможете использовать JAR-файлы, добавленные с помощью этого сценария из Hive, без инструкции ADD JAR
.
Дальнейшие действия
Дополнительные сведения о работе с Hive см. в статье Обзор Apache Hive и HiveQL в Azure HDInsight.