Partilhar via


Adicione bibliotecas personalizadas do Apache Hive ao criar seu cluster HDInsight

Saiba como pré-carregar 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 neste documento estão disponíveis globalmente no Hive - não há necessidade de usar ADD JAR para carregá-las.

Como funciona

Ao criar um cluster, você pode usar uma Ação de Script para modificar os nós do cluster à medida que são criados. O script neste documento aceita um único parâmetro, que é o local das bibliotecas. Esse local 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 /usr/lib/customhivelibs/ diretório nos nós head e worker e, em seguida, adiciona-os à hive.aux.jars.path propriedade no core-site.xml arquivo. Em clusters baseados em Linux, ele também atualiza o hive-env.sh arquivo com a localização dos arquivos.

O uso da ação de script neste artigo torna as bibliotecas disponíveis ao usar um cliente Hive para WebHCat e HiveServer2.

O guião

Localização do script

https://hdiconfigactions.blob.core.windows.net/setupcustomhivelibsv01/setup-customhivelibs-v01.ps1

Requerimentos

  • Os scripts devem ser aplicados aos nós Head e Worker.

  • Os jars que você deseja instalar devem ser armazenados no Armazenamento de Blobs do Azure em um único contêiner.

  • A conta de armazenamento que contém a biblioteca de arquivos jar deve ser vinculada ao cluster HDInsight durante a criação. 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 forem armazenados em um contêiner chamado libs em uma conta de armazenamento chamada mystorage, o parâmetro será wasbs://libs@mystorage.blob.core.windows.net/.

    Observação

    Este documento pressupõe que você já criou uma conta de armazenamento, contêiner de blob e carregou os arquivos para ele.

    Se não tiver criado uma conta de armazenamento, pode fazê-lo através do portal do Azure. Em seguida, você pode usar um utilitário como o Gerenciador de Armazenamento do Azure para criar um contêiner na conta e carregar arquivos para ele.

Criar um cluster usando o script

  1. Comece a provisionar um cluster usando 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 HDInsight .NET 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. No portal do Azure, na guia Configuração + preço, selecione + Adicionar ação de script.

  2. 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.

  3. Para Ações de Script, forneça as seguintes informações:

    Propriedade Valor
    Tipo de script - Personalizado
    Nome Bibliotecas
    URI de script Bash https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh
    Tipo(s) de nó(s) Chefe, Trabalhador
    Parâmetros Insira o endereço WASB para o contêiner e a conta de armazenamento que contém os frascos. Por exemplo, wasbs://libs@mystorage.blob.core.windows.net/.

    Observação

    Para o Apache Spark 2.1, use este URI de script de bash: https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v00.sh.

  4. Continue provisionando o cluster conforme descrito em Provisionar clusters HDInsight no Linux.

Quando a criação do cluster for concluída, você poderá usar os jars adicionados por meio desse script do Hive sem precisar usar a ADD JAR instrução.

Próximos passos

Para obter mais informações sobre como trabalhar com o Hive, consulte Usar o Apache Hive com o HDInsight