Tutorial: Analisar dados do Apache Spark usando o Power BI no HDInsight

Neste tutorial, você aprende a usar o Microsoft Power BI para visualizar dados em um cluster do Apache Spark no Azure HDInsight.

Neste tutorial, você aprenderá como:

  • Visualizar dados de Spark usando o Power BI

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

Pré-requisitos

Verificar os dados

O Jupyter Notebook que você criou no tutorial anterior inclui código para criar uma tabela hvac. Esta tabela é baseada no arquivo CSV disponível em todos os clusters do Spark do HDInsight em \HdiSamples\HdiSamples\SensorSampleData\hvac\hvac.csv. Use o procedimento a seguir para verificar os dados.

  1. Do Jupyter Notebook, cole o código a seguir e pressione SHIFT + ENTER. O código verifica a existência das tabelas.

    %%sql
    SHOW TABLES
    

    A saída se parece com isso:

    Captura de tela mostrando tabelas no Spark.

    Se você fechou o bloco de anotações antes de iniciar este tutorial, hvactemptable é limpo e, portanto, não é incluído na saída. Somente as tabelas do Hive que são armazenadas no metastore (indicado por False na coluna isTemporary) podem ser acessadas por meio das ferramentas de BI. Neste tutorial, você se conecta à tabela hvac que você criou.

  2. Cole o código a seguir em uma célula vazia e pressione SHIFT+ENTER. O código verifica os dados na tabela.

    %%sql
    SELECT * FROM hvac LIMIT 10
    

    A saída se parece com isso:

    Captura de tela mostrando linhas da tabela HVAC no Spark.

  3. No menu Arquivo do notebook, selecione Fechar e Interromper. Feche o bloco de anotações para liberar os recursos.

Visualizar os dados

Nesta seção, use o Power BI para criar painéis, relatórios e visualizações a partir dos dados do cluster Spark.

Criar um relatório no Power BI Desktop

As primeiras etapas ao trabalhar com Spark são conectar-se ao cluster no Power BI Desktop, carregar dados do cluster e criar uma visualização básica com base nesses dados.

  1. Abra o Power BI Desktop. Feche a tela inicial de inicialização, se estiver aberta.

  2. Na guia Página Inicial, navegue até Obter Dados>Mais.. .

    Captura de tela mostrando a obtenção de dados no Power BI Desktop por meio do Apache Spark no HDInsight.

  3. Insira Spark na caixa de pesquisa, selecione Azure HDInsight Spark e, em seguida, selecione Conectar.

    Captura de tela mostrando a obtenção de dados no Power BI do Apache Spark BI.

  4. Insira a URL do cluster (no formato mysparkcluster.azurehdinsight.net) na caixa de texto Servidor.

  5. No modo de Conectividade de dados, selecione DirectQuery. Depois, selecione OK.

    Você pode usar qualquer um dos modos de conectividade de dados com o Spark. Se você usar o DirectQuery, as alterações serão refletidas em relatórios sem atualizar todo o conjunto de dados. Se você importar dados, você precisará atualizar o conjunto de dados para ver as alterações. Para obter mais informações sobre como e quando usar o DirectQuery, consulte Usando DirectQuery no Power BI.

  6. Insira as informações de conta de logon do HDInsight e, em seguida, selecione Conectar. O nome da conta padrão é admin.

  7. Selecione a tabela hvac, aguarde para ver uma visualização dos dados e selecione Carregar.

    Captura de tela mostrando o nome de usuário e a senha do cluster Spark.

    O Power BI Desktop agora tem todas as informações necessárias para se conectar ao cluster do Spark e carregar os dados da tabela hvac. A tabela e as respectivas colunas são exibidas no painel Campos.

  8. Visualize a variação entre a temperatura almejada e a temperatura real para cada compilação:

    1. No painel VISUALIZAÇÕES, selecione Gráfico de Área.

    2. Arraste o campo BuildingID para Eixoe arraste os campos ActualTemp e TargetTemp para Valor.

      Captura de tela mostrando colunas de adição de valor.

      O diagrama se parecerá com isso:

      Captura de tela mostrando a soma do grafo de área.

      Por padrão, a visualização mostra a soma de ActualTemp e TargetTemp. Selecione a seta para baixo ao lado de ActualTemp e TragetTemp no painel de visualizações, você pode ver que Sum está selecionado.

    3. Selecione as setas para baixo ao lado de ActualTemp e TragetTemp no painel de visualizações, selecione Average para obter uma média de temperatura real e temperatura alvo para cada compilação.

      Captura de tela mostrando a média dos valores.

      A sua visualização de dados deve ser semelhante àquela que aparece na captura de tela. Mova o cursor sobre a visualização para obter dicas de ferramenta com dados relevantes.

      Captura de tela mostrando o grafo de área

  9. Navegue até Arquivo>Salvar, digite o nome BuildingTemperature para o arquivo e selecione Salvar.

Publicar o relatório para o serviço do Power BI (opcional)

O serviço do Power BI permite que você compartilhe os relatórios e painéis pela sua organização. Nesta seção, primeiro você publica o conjunto de dados e o relatório. Em seguida, você pode fixar o relatório em um painel. Os dashboards normalmente são usados para se concentrar em um subconjunto de dados em um relatório. Você tem apenas uma visualização em seu relatório, mas ainda assim é útil percorrer as etapas.

  1. Abra o Power BI Desktop.

  2. Na guia Página Inicial, selecione Publicar.

    Captura de tela mostrando a publicação do Power BI Desktop.

  3. Selecione um workspace no qual o conjunto de dados e o relatório serão publicados e, em seguida, escolha Selecionar. Na imagem a seguir, o Meu Workspace padrão está selecionado.

    Captura de tela mostrando a seleção do workspace para publicar o conjunto de dados e o relatório.

  4. Depois que a publicação for bem-sucedida, selecione Abrir 'BuildingTemperature.pbix' no Power BI.

    Captura de tela mostrando o sucesso da publicação. Clique para inserir credenciais.

  5. No serviço do Power BI, selecione Inserir credenciais.

    Captura de tela mostrando como inserir credenciais no serviço do Power BI.

  6. Selecione Editar credenciais.

    Captura de tela mostrando Editar credenciais no serviço do Power BI.

  7. Insira os dados da conta de logon do HDInsight e, em seguida, selecione Entrar. O nome da conta padrão é admin.

    Captura de tela mostrando Entrar no cluster Spark.

  8. No painel esquerdo, acesse Workspaces>Meu Workspace>RELATÓRIOS e, em seguida, selecione BuildingTemperature.

    Captura de tela mostrando o Relatório listado em relatórios no painel esquerdo.

    Você também verá a BuildingTemperature listada sob DATASETS no painel à esquerda.

    O visual criado no Power BI Desktop agora está disponível no serviço do Power BI.

  9. Posicione o cursor sobre a visualização e, em seguida, selecione o ícone de pino no canto superior direito.

    Captura de tela mostrando o relatório no serviço do Power BI.

  10. Selecione "Novo dashboard", insira o nome Building temperature e, em seguida, selecione Fixar.

    Captura de tela mostrando fixar no novo painel.

  11. No relatório, selecione Ir para o dashboard.

O visual é fixado no painel – você pode adicionar outros elementos visuais no relatório e fixá-los no mesmo painel. Para saber mais sobre relatórios e painéis, confira Relatórios no Power BI e Painéis no Power BI.

Limpar os recursos

Após concluir o tutorial, convém 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 tutorial, você aprendeu a usar o Microsoft Power BI para visualizar dados em um cluster do Apache Spark no Azure HDInsight. Avance para o próximo artigo para ver que você pode criar uma aplicativo de aprendizado de máquina.