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

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

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

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