Guia de início rápido: executar consultas do Apache Hive no Azure HDInsight usando o Apache Zeppelin

Neste início rápido, você aprenderá a usar o Apache Zeppelin para executar consultas do Apache Hive no Azure HDInsight. Os clusters de Consulta Interativa do HDInsight incluem blocos de anotações do Apache Zeppelin que você pode usar para executar consultas interativas do Hive.

Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Um cluster Consulta interativa do HDInsight. Confira Criar cluster para criar um cluster HDInsight. Escolha o tipo de cluster Consulta interativa.

Criar uma anotação do Apache Zeppelin

  1. Substitua CLUSTERNAME pelo nome do cluster na seguinte URL https://CLUSTERNAME.azurehdinsight.net/zeppelin. Em seguida, insira a URL em um navegador da Web.

  2. Insira o nome de usuário e a senha de logon do cluster. Na página do Zeppelin, você pode criar uma nova anotação ou abrir anotações existentes. O HiveSample contém alguns exemplos de consultas de Hive.

    HDInsight Interactive Query zeppelin.

  3. Selecione Criar anotação.

  4. Na caixa de diálogo Criar anotação, digite ou selecione os seguintes valores:

    • Nome da anotação: digite o nome da anotação.
    • Interpretador padrão: selecione jdbc na lista suspensa.
  5. Selecione Criar anotação.

  6. Insira a seguinte consulta de Hive na seção do código e, em seguida, pressione Shift + Enter:

    %jdbc(hive)
    show tables
    

    HDInsight Interactive Query zeppelin runs query.

    A instrução %jdbc(hive) na primeira linha informa o bloco de anotações para usar o interpretador JDBC do Hive.

    A consulta deverá retornar uma tabela de Hive denominada hivesampletable.

    A seguir há mais duas consultas de Hive adicionais que podem ser executadas em relação a hivesampletable:

    %jdbc(hive)
    select * from hivesampletable limit 10
    
    %jdbc(hive)
    select ${group_name}, count(*) as total_count
    from hivesampletable
    group by ${group_name=market,market|deviceplatform|devicemake}
    limit ${total_count=10}
    

    Em comparação com o Hive tradicional, os resultados da consulta retornam muito mais rapidamente.

Mais exemplos

  1. Criar uma tabela. Execute o código abaixo no Notebook do Zeppelin:

    %jdbc(hive)
    CREATE EXTERNAL TABLE log4jLogs (
        t1 string,
        t2 string,
        t3 string,
        t4 string,
        t5 string,
        t6 string,
        t7 string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ' '
    STORED AS TEXTFILE;
    
  2. Carregar dados na nova tabela. Execute o código abaixo no Notebook do Zeppelin:

    %jdbc(hive)
    LOAD DATA
    INPATH 'wasbs:///example/data/sample.log'
    INTO TABLE log4jLogs;
    
  3. Inserir um único registro. Execute o código abaixo no Notebook do Zeppelin:

    %jdbc(hive)
    INSERT INTO TABLE log4jLogs2
    VALUES ('A', 'B', 'C', 'D', 'E', 'F', 'G');
    

Examine o Manual da linguagem Hive para obter mais sintaxe.

Limpar os recursos

Após concluir o início rápido, poderá ser conveniente excluir o cluster. Com o HDInsight, seus dados são armazenados no Armazenamento do Azure, assim você poderá excluir, com segurança, um cluster quando ele não estiver em uso. Você também é cobrado por um cluster HDInsight, mesmo quando ele não está em uso. Como os encargos para o cluster são muitas vezes maiores do que os encargos para armazenamento, faz sentido, do ponto de vista econômico, excluir os clusters quando não estiverem em uso.

Para excluir um cluster, confira Delete an HDInsight cluster using your browser, PowerShell, or the Azure CLI (Excluir um cluster HDInsight usando o navegador, o PowerShell ou a CLI do Azure).

Próximas etapas

Neste início rápido, você aprendeu a usar o Apache Zeppelin para executar consultas de Apache Hive no Azure HDInsight. Para saber mais sobre as consultas de Hive, o próximo artigo mostrará como executar consultas com o Visual Studio.