Assine a nossa newsletter | Receba insights sobre Transformação Digital

Azure Databricks: desvendando esta fantástica plataforma

Azure Databricks

Separamos neste artigo, um guia completo para você entender o que é o Azure Databricks, com dicas avançadas de uso e de visualização dos dados com Power BI. Então acompanhe a leitura e aproveite!

O que é o Azure Databricks?

O Azure Databricks é uma poderosa solução unificada de Big Data e de processamento escalável, que oferece inúmeros ganhos em relação a escalabilidade e performance.

Ele oferece também a possibilidade de escrever em qualquer linguagem, como R, Python, Scala e SQL.

O mais legal de tudo isso: é possível ter todo o seu time de engenharia e ciência de dados trabalhando no mesmo ambiente e com o mesmo propósito.

Como funciona o Azure Databricks?

Projetado com os fundadores do Apache Spark, o Databricks é integrado com o Azure para fornecer instalação com um clique, fluxos de trabalho simplificados e um workspace interativo que permite a colaboração entre os cientistas de dados, os engenheiros de dados e os analistas de negócios.

Azure Databricks Overview

O Azure Databricks também é um serviço de análise rápida, fácil e colaborativa baseada no Apache. Para um pipeline de Big Data, os dados (brutos ou estruturados) são inseridos no Azure por meio do Azure Data Factory em lotes ou transmitidos quase em tempo real usando o Kafka, Hub de eventos ou Hub IoT.

Esses dados chegam em um Data Lake para armazenamento persistente de longo prazo, no Armazenamento de Blobs do Azure ou no Azure Data Lake Storage.

Como parte do seu fluxo de trabalho de análise, o Azure Databricks pode ler dados de várias fontes de dados como o Armazenamento de Blobs, Azure Data Lake Storage, Azure Cosmos DB ou SQL Data Warehouse do Azure e transformá-los em insights inovadores usando o Spark.

Databrick Pipeline

Plataforma de análise com base no Apache Spark

O Azure Databricks abrange as tecnologias e os recursos completos de código aberto do cluster do Apache Spark. O Spark no Azure Databricks inclui os seguintes componentes:

Apache Spark - Ecosystem Databricks

Spark SQL e DataFrames

O Spark SQL é o módulo Spark para trabalhar usando dados estruturados. Um DataFrame é uma coleção distribuída de dados organizados em colunas nomeadas. Ele é conceitualmente equivalente a uma tabela em um banco de dados relacional ou uma estrutura de dados em R/Python.

Streaming

Processamento de dados em tempo real e análise para aplicativos analíticos e interativos. Integra-se com HDFS, Flume e Kafka.

Mlib

Biblioteca Machine Learning que consiste em algoritmos e utilitários de aprendizado comuns, incluindo classificação, regressão, clustering, filtragem colaborativa, redução de dimensionalidade, bem como primitivos de otimização subjacente.

GraphX

Gráficos e computação de gráfico para um amplo escopo de casos de uso desde análise cognitiva até exploração de dados.

API do Spark Core

Inclui suporte para R, SQL, Python, Scala e Java.

Apache Spark no Azure Databricks

O Azure Databricks compila com base nos recursos do Spark fornecendo uma plataforma de nuvem de gerenciamento zero que inclui:

  • Clusters do Spark totalmente gerenciados
  • Um workspace interativo para exploração e visualização
  • Uma plataforma para capacitar seus aplicativos favoritos baseados no Spark

Ambiente de produção e criando clusters em escala

O Azure Databricks tem um ambiente de produção seguro e confiável na nuvem, gerenciado e com suporte de especialistas do Spark. Você pode:

  • Criar clusters em segundos
  • Autoescalar clusters dinâmica e verticalmente, incluindo clusters sem servidor, e compartilhá-los entre equipes.
  • Usar clusters programaticamente usando as APIs REST.
  • Usar recursos de integração de dados seguros criados com base no Spark que permitem unificar seus dados sem centralização.
  • Obter acesso instantâneo para os recursos mais recentes do Apache Spark com cada versão.

Databricks Runtime

O Databricks Runtime é criado sobre o Apache Spark e é nativamente criado para a nuvem do Azure.

Databricks Runtime

Com a opção Sem servidor, o Azure Databricks abstrai completamente a complexidade da infraestrutura e a necessidade de experiência especializada para instalar e configurar sua infraestrutura de dados. A opção Sem servidor ajuda os cientistas de dados a iterar rapidamente como uma equipe.

Para engenheiros de dados, que se importam com o desempenho dos trabalhos de produção, o Azure Databricks fornece um mecanismo do Spark mais rápido e eficaz por meio de várias otimizações na camada de E/S e na camada de processamento (Databricks I/O).

Batch Scoring Spark

Workspace de colaboração

Por meio de um ambiente colaborativo e integrado, o Azure Databricks simplifica o processo de exploração de dados, criação de protótipos e de execução de aplicativos controlados por dados no Spark.

Com ele, você pode determinar como usar dados com fácil exploração de dados e documentar o progresso em blocos de notas em R, Python, Scala ou SQL.

Segurança do Enterprise

Fornece a segurança a nível empresarial do Azure, incluindo a integração do Azure Active Directory, controles com base em função e SLAs que protegem seus dados e o seu negócio.

  • A integração com o Azure Active Directory permite que você execute soluções completas baseadas no Azure usando o Azure Databricks.
  • O acesso baseado em funções do Azure Databricks permite que as permissões refinadas de usuário para blocos de notas, clusters, trabalhos e dados.
  • SLAs de nível empresarial.

Integração com serviços do Azure

O Azure Databricks integra-se profundamente aos armazenamentos e bancos de dados do Azure: SQL Data Warehouse, Cosmos DB, Data Lake Storage e Armazenamento de Blobs.

Integração com o Power BI

Por meio da integração avançada com o Power BI, o Azure Databricks permite que você descubra e compartilhe seus insights de impacto de forma rápida e fácil. Você também pode usar outras ferramentas de BI, como o Software Tableau, por meio de pontos de extremidade de cluster JDBC/ODBC.

Azure Databricks

Visualizando os dados no Power BI

Como já vimos, o Azure Databricks é uma tecnologia poderosa que ajuda a unificar o processo de análise entre os engenheiros de dados e cientistas de dados, fornecendo um fluxo de trabalho que pode ser facilmente entendido e utilizado por ambas as disciplinas de usuários.

No entanto, na vida real, a necessidade de fornecer dados em um formato compreensível que forneça insights úteis amplia as necessidades dos engenheiros de dados e cientistas.

Com isso em mente, como podemos esperar que profissionais de marketing, vendedores e executivos de negócios compreendam e utilizem plataformas de análises abrangentes, como o Azure Databricks, para realizar tarefas cotidianas?

Felizmente, podemos conectar nossos clusters dentro do Azure Databricks a ferramentas de BI, como o Power BI. O objetivo deste conteúdo é ajudar você a entender a como usar tarefas do Banco de dados do Azure e do Power BI para Data Visualization e a como conectar clusters em Databricks ao Power BI.

Como conectar clusters dentro do Azure Databricks

Para esta demonstração, vamos usar Python para o trabalho de scripts dentro do Databricks. Há algumas bibliotecas de dados realmente interessantes que estão disponíveis em Python e mostraremos como você pode usá-las dentro de um bloco de notas do Databricks.

Vamos começar criando um bloco de notas em Python e carregar nosso conjunto de dados. Escreva o seguinte código:

Carregue nossos dados no Databricks

ourData = "/databricks-datasets/Rdatasets/data-001/csv/ggplot2/diamonds.csv"

Crie um DataFrame

diamantes de dados = spark.read.format ("csv"). option ("header", "true"). opção ("inferSchema", "true"). load (ourData)

Se a compilação foi bem-sucedida, devemos ver a seguinte saída:

Exemplo Dataframe

Vamos utilizar os nossos dados para que possamos usar diferentes tipos de recursos visuais. Vamos dar uma olhada nos nossos dados primeiro apenas para ver com o que estamos lidando:

Exibição dos dados (diamantes)

Devemos seguir a seguinte tabela em nosso bloco de notas do Databricks:

Exibição Diamantes

Como pode você pode ver, sempre que executarmos uma função display() em Databricks, obteremos um limite de 1.000 linhas em nosso conjunto de dados.

Visualizando dados em bancos de dados

Agora que temos nossos diferentes quadros de dados definidos em Databricks (digamos que 5 vezes mais rápido), podemos começar a experimentar diferentes tipos de dados visuais.

Sabemos que colunas nós temos, que tipos de dados eles são e que tipo de dados está dentro do nosso DataFrame de diamantes, então vamos começar com algumas agregações.

Agruparemos nossos diamantes por cor e mostrando seu preço médio. Vamos criar um novo quadro de dados para isso, escrevendo o seguinte código:

Grupo por cor

diamonds_color = diamonds.groupBy ('color').
Exibição de avg ("price") (diamonds_color)

Quando executamos este código, conseguimos uma tabela, mas você viu o botão do gráfico de barras na parte inferior da nossa tabela? Este botão nos permite visualizar nossos dados. Neste exemplo, usamos um gráfico de barras básico, mas analisaremos o que podemos fazer usando esse recurso.

Exemplo Gráfico de Barras

Tipos de visualizações

No Azure Databricks, podemos criar diferentes tipos de visualizações, conforme no diagrama abaixo:

Tipos de Visualização no Databricks

Mas nem sempre queremos que o resultado apareça no formato de um gráfico de barras. Então, também podemos personalizar nossos gráficos usando “Opções de plotagem”

Opções de plotagem

Este é um exemplo bastante básico, mas usando esse recurso, podemos personalizar os campos que queremos usar em nosso gráfico, as chaves, valores, grupos, tipo de agregação e como gráfico é exibido.

Vamos explorar outro exemplo. Escreva o seguinte código em outro bloco de código em seu bloco de notas de bibliotecas de dados:

Depth to carat

depthVcarat = diamonds.select (exibição "profundidade", "quilate")
(depthVcarat)

Nesse quadro de dados, queremos ver se existe uma relação entre a profundidade de um diamante seu valor de quilate. Vamos criar um gráfico de dispersão para ver se existe:

Exemplo Gráfico de Dispersão

Painel do Databricks

Agora que temos algumas visualizações legais em nosso bloco de notas do Databricks, podemos consolidá-las em um painel bem organizado.

Para fazer isso, podemos usar o meu suspenso em nosso bloco de anotações, onde está escrito: Código e clique em Novo painel:

Painel Databricks

Aqui podemos mover nossos recursos visuais para criar um painel assim:

Recursos visuais do painel Databricks

Podemos mover nossos recursos visuais para se adequar ao nosso painel. Os controles são bastante simples, podemos escolher um opção de layout (empilhada ou flutuada) e uma largura de painel.

Os painéis podem ser muito simples em Databricks ou podem ser mais sofisticados. Podemos fazer uma simulação rápida como a que acabamos de produzir ou adicionamos alguma complexidade a eles criando um trabalho agendado para atualizá-lo.

Por exemplo, se criarmos um painel que ofereça recursos visuais para um trabalho de streaming, podemos criar um trabalho que atualize isso de vez em quando.

Embora as ferramentas de visualização no Databricks, sejam boas, elas não são tão abrangentes quanto o Power BI. Vamos conectar nossos dados ao Power BI agora.

Conectando as bases de dados ao Power BI Desktop

O Power BI fornece visualizações de dados interativos que permitem aos usuários criar relatórios e painéis. Como vimos anteriormente, você pode trazer os benefícios de desempenho para todos os usuários corporativos.

Você pode usar o DirectQuery para transferir as responsabilidades de processamento para o Azure Databricks, que lidará com as vagas quantidades de dados que não necessariamente queremos no Power BI.

O Power BI vem com um conectar Spark embutido que nos permite conectar aos nossos clusters em Databricks.  Para se conectar aos seus clusters, você precisará gerar um token de acesso pessoal no Databricks.

Primeiro, vamos salvar nosso DataFrame de diamantes como uma tabela global dentro do Databricks. Tabelas globais estão disponíveis para todos os clusters.

Salvar dataframe de diamantes como uma tabela global

diamonds.write.saveAsTable ("diamonds")

Precisamos confirmar que nossa tabela foi criada, verificando nossa guia de dados:

Tabela criada

Agora que salvamos nossa tabela, vamos conectá-la ao Power BI.

Primeiro precisamos obter nosso endereço de servidor JDBC (Java Database Connectivity). Vá para a interface do usuário de clusters e seleciona o cluster ao qual você deseja se conectar. Na página de edição, role para baixo e selecione a guia JDBC / ODBC.

Vemos então vários valores que precisaremos para conectar ao Power BI. Você precisará de um endereço no seguinte formato:

https: // : / sql / protocol / o / /

As duas chaves no final estarão na sua caixa de texto URL do JDBC, portanto copie e cole esses valores. Depois de ter o URL, vá para o Power BI e clique em Obter Dados na barra de ferramentas e clique em Mais…

Na caixa de dialogo Obter Dados, precisaremos procurar o conector Spark (beta):

Clique em Conectar. Insira o URL que criamos anteriormente, use HTTP como o protocolo e selecione DirectQuery como o modo de conectividade de dados. Isso permitirá descarregar o processamento para o Spark (como explicado anteriormente).

Agora vamos precisar fazer o login no cluster, Use “token” como o nome de usuário e use o token para a senha (certifique-se de ter gerado um token antes de fazer isso)… clique em Conectar para se conectar ao seu cluster.

Conectar cluster

Podemos editar nossa importação de dados como faríamos com qualquer fonte de dados no Power BI ou podemos simplesmente carregar tudo. Vamos fazer o último! Clique em Carregar para começar.

Trabalhando com dados dentro do Power BI

Agora que nossa tabela Databricks está disponível para nós dentro do Power BI, podemos começar a criar algumas visualizações fantásticas e impressionantes.

Na guia “campos”, podemos ver nossa tabela que importamos junto com suas respectivas colunas:

Colunas do banco de dados

Vamos tentar criar nosso gráfico de barras de preços médios por cor que fizemos no Databricks. Na guia de campos, marque as caixas de seleção de cor e preço para inserir esses campos em nosso painel.

Agora, queremos escolher um “Gráfico de Colunas Empilhadas” para nossa visualização. Precisamos alterar algumas coisas para deixar nosso gráfico com bom aspecto. Em nossa guia de visualizações, queremos definir nosso eixo como cor, escolher a cor para nossa legenda e definir o valor para a média da nossa coluna de preços.

Guia de visualização do gráfico

Nosso resultado final deve ser algo como o exemplo a seguir:

Exemplo Gráfico Final

Conclusão

Este é um exemplo muito simples que criamos aqui, mas esperamos que você já conheça os fundamentos básicos da importação de dados do Databricks no Power BI.