Adicionar bibliotecas personalizadas do Apache Hive ao criar o cluster do HDInsight
Saiba como pré-carregar bibliotecas do Apache Hive no HDInsight. Este documento contém informações sobre como utilizar uma Ação de Script para pré-carregar bibliotecas durante a criação do cluster. As bibliotecas adicionadas através dos passos neste documento estão globalmente disponíveis no Hive. Não é necessário utilizar o ADD JAR para carregá-las.
Como funciona
Ao criar um cluster, pode utilizar uma Ação de Script para modificar os nós de cluster à medida que são criados. O script neste documento aceita um único parâmetro, que é a localização das bibliotecas. Esta localização tem de estar numa Conta de Armazenamento do Azure e as bibliotecas têm de ser armazenadas como ficheiros jar.
Durante a criação do cluster, o script enumera os ficheiros, copia-os para o /usr/lib/customhivelibs/
diretório nos nós principais e de trabalho e, em seguida, adiciona-os à hive.aux.jars.path
propriedade no core-site.xml
ficheiro. Nos clusters baseados no Linux, também atualiza o hive-env.sh
ficheiro com a localização dos ficheiros.
A utilização da ação de script neste artigo disponibiliza as bibliotecas ao utilizar um cliente hive para WebHCat e HiveServer2.
O script
Localização do script
https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1
Requisitos
Os scripts têm de ser aplicados aos nós Principais e aos Nós de trabalho.
Os jars que pretende instalar têm de ser armazenados em Armazenamento de Blobs do Azure num único contentor.
A conta de armazenamento que contém a biblioteca de ficheiros jar tem de estar ligada ao cluster do HDInsight durante a criação. Tem de ser a conta de armazenamento predefinida ou uma conta adicionada através das Definições da Conta de Armazenamento.
O caminho WASB para o contentor tem de ser especificado como um parâmetro para a Ação de Script. Por exemplo, se os jars forem armazenados num contentor com o nome libs numa conta de armazenamento com o nome mystorage, o parâmetro será
wasbs://libs@mystorage.blob.core.windows.net/
.Nota
Este documento pressupõe que já criou uma conta de armazenamento, um contentor de blobs e carregou os ficheiros para a mesma.
Se não tiver criado uma conta de armazenamento, pode fazê-lo através do portal do Azure. Em seguida, pode utilizar um utilitário como Explorador de Armazenamento do Azure para criar um contentor na conta e carregar ficheiros para a mesma.
Criar um cluster com o script
Comece a aprovisionar um cluster com os passos em Aprovisionar clusters do HDInsight no Linux, mas não conclua o aprovisionamento. Também pode utilizar Azure PowerShell ou o SDK .NET do HDInsight para criar um cluster com este script. Para obter mais informações sobre como utilizar estes métodos, veja Personalizar clusters do HDInsight com Ações de Script. Para o portal do Azure, no separador Configuração + preços, selecione a ação + Adicionar script.
Para Armazenamento, se a conta de armazenamento que contém a biblioteca de ficheiros jar for diferente da conta utilizada para o cluster, conclua Contas de armazenamento adicionais.
Para Ações de Script, forneça as seguintes informações:
Propriedade Valor Tipo de script - Personalizado Name Bibliotecas Bash script URI https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
Tipos de nó Cabeça, Trabalho Parâmetros Introduza o endereço WASB no contentor e na conta de armazenamento que contém os jars. Por exemplo, wasbs://libs@mystorage.blob.core.windows.net/
.Nota
Para o Apache Spark 2.1, utilize este URI de script bash:
https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh
.Continue a aprovisionar o cluster conforme descrito em Aprovisionar clusters do HDInsight no Linux.
Assim que a criação do cluster estiver concluída, poderá utilizar os jars adicionados através deste script do Hive sem ter de utilizar a ADD JAR
instrução .
Passos seguintes
Para obter mais informações sobre como trabalhar com o Hive, veja Utilizar o Apache Hive com o HDInsight