Adicionar bibliotecas Apache Hive personalizadas ao criar seu cluster HDInsight
Saiba como pré-carregar as bibliotecas do Apache Hive no HDInsight. Este documento contém informações sobre como usar uma Ação de script para pré-carregar bibliotecas durante a criação do cluster. As bibliotecas adicionadas usando as etapas deste documento estão disponíveis globalmente no Hive - não há necessidade de usar ADD JAR para carregá-las.
Como ele funciona
Ao criar um cluster, você pode usar uma Ação de script para modificar os nós do cluster à medida que eles são criados. O script neste documento aceita um único parâmetro, que é a localização das bibliotecas. Essa localização deve estar em uma conta de Armazenamento do Azure e as bibliotecas devem ser armazenadas como arquivos jar.
Durante a criação do cluster, o script enumera os arquivos, copia-os para o diretório /usr/lib/customhivelibs/
nos nós de cabeçalho e de trabalho e adiciona-os à propriedade hive.aux.jars.path
no arquivo core-site.xml
. Em clusters baseados em Linux, ele também atualiza o arquivo hive-env.sh
com o local dos arquivos.
O uso da ação de script neste artigo torna as bibliotecas disponíveis ao usar um cliente do Hive para WebHCat e HiveServer2.
O script
Local do script
https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1
Requisitos
Os scripts devem ser aplicados nosNós do cabeçalho e nos Nós de trabalho.
Os jars que você deseja instalar devem estar armazenados no Armazenamento de Blobs do Azure em um único contêiner.
A conta de armazenamento contendo a biblioteca de arquivos jar deve ser vinculada ao cluster HDInsight durante a criação. Esta deve ser a conta de armazenamento padrão ou uma conta adicionada por meio das Configurações da conta de armazenamento.
O caminho WASB para o contêiner deve ser especificado como um parâmetro para a Ação de Script. Por exemplo, se os jars estivessem armazenados em um contêiner denominado libs em uma conta de armazenamento denominada mystorage, o parâmetro seria
wasbs://libs@mystorage.blob.core.windows.net/
.Observação
Este documento supõe que você já criou uma conta de armazenamento, um contêiner de blobs e carregou os arquivos nele.
Se você ainda não criou uma conta de armazenamento, faça isso usando o portal do Azure. Lá, você pode usar um utilitário como o Gerenciador de Armazenamento do Azure para criar um contêiner na conta e carregar arquivo nele.
Criar um cluster usando o script
Inicie provisionando um cluster com as etapas em Provisionar clusters HDInsight no Linux, mas não conclua o provisionamento. Você também pode usar o Azure PowerShell ou o SDK do .NET do HDInsight para criar um cluster usando esse script. Para obter mais informações sobre como usar esses métodos, consulte Personalizar clusters HDInsight com Ações de Script. Para o portal do Azure, na guia Configuração + preço, selecione a ação +Adicionar script.
Para Armazenamento, se a conta de armazenamento que contém a biblioteca de arquivos jar for diferente da conta usada para o cluster, complete Contas de armazenamento adicionais.
Para Ações de script, forneça as seguintes informações:
Propriedade Valor Tipo de script - Personalizado Nome Bibliotecas URI do script Bash https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
Tipo(s) de nó Cabeçalho, função de trabalho Parâmetros Insira o endereço WASB para o contêiner e a conta de armazenamento que contém os jars. Por exemplo, wasbs://libs@mystorage.blob.core.windows.net/
.Observação
Para Apache Spark 2.1, use este URI de script bash:
https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh
.Continue a provisionar o cluster como descrito em Provisionar clusters HDInsight no Linux.
Assim que a criação do cluster for concluída, você poderá usar os jars adicionados do Hive por meio desse script sem precisar usar a instrução ADD JAR
.
Próximas etapas
Para obter mais informações sobre como trabalhar com o Hive, consulte Usar o Apache Hive com o HDInsight