curso
Dominando o SQL do Databricks: Um guia abrangente para cargas de trabalho de análise de dados e BI
O Databricks SQL é uma ferramenta avançada projetada para o gerenciamento e a análise de dados na plataforma Databricks Lakehouse. Essa plataforma integra engenharia de dados, ciência de dados e análise de negócios em uma experiência unificada. Portanto, o Databricks SQL é importante para os profissionais de dados que desejam otimizar seus fluxos de trabalho de dados, a execução de consultas e as tarefas de BI sem a complexidade do gerenciamento tradicional da infraestrutura.
Neste artigo, explorarei os componentes, os recursos e as ferramentas do Databricks SQL e mostrarei exemplos práticos de criação e uso do Databricks SQL warehouse. Para começar, recomendo que você faça o curso Introduction to Databricks da DataCamp para aprender sobre o Databricks como uma solução de armazenamento de dados para Business Intelligence (BI), aproveitando os recursos otimizados para SQL para criar consultas e analisar dados.
O que é o Databricks SQL?
O Databricks SQL é uma ferramenta de análise robusta dentro da plataforma Databricks Lakehouse que permite que os profissionais de dados executem consultas SQL, analisem dados e criem painéis interativos. Projetado com uma arquitetura sem servidor, o Databricks SQL combina a flexibilidade dos data lakes com os recursos de governança e desempenho dos data warehouses.
Os principais componentes do Databricks SQL incluem SQL Warehouses, SQL Editors e SQL Dashboards. Não se preocupe se você não estiver familiarizado com cada uma delas, pois explicarei o significado de cada uma a seguir.
Componentes principais do Databricks SQL
Os componentes principais do Databricks SQL facilitam a consulta eficiente, a visualização de dados e a colaboração entre os usuários. A seguir, você encontrará uma visão geral das principais ferramentas e recursos disponíveis no Databricks SQL.
Armazéns SQL
Os SQL Warehouses servem como recursos computacionais para a execução de consultas SQL no Databricks SQL. Eles são projetados para lidar com cargas de trabalho variadas e oferecer otimizações de desempenho com base no tipo de depósito selecionado. Há três tipos principais de SQL Warehouses:
- Clássico: Esse tipo oferece suporte a funcionalidades básicas e é adequado para desempenho de nível básico. Ele utiliza a camada de computação existente em sua conta de nuvem, mas não possui recursos avançados, como IWM (Intelligent Workload Management, gerenciamento inteligente de carga de trabalho) e IO preditivo.
- Profissional: Os Pro SQL Warehouses oferecem desempenho aprimorado com suporte para o Photon, um mecanismo de consulta vetorizada que acelera as operações SQL e melhora as opções de segurança.
- Sem servidor Elimina o gerenciamento da infraestrutura provisionando recursos automaticamente, dimensionando de forma elástica e garantindo a execução de consultas com baixa latência. Eles são ideais para ambientes com cargas de trabalho flutuantes e oferecem desempenho econômico.
SQL Warehouse no Databricks SQL. Imagem do autor.
Editor SQL
O SQL Editor é uma interface amigável que permite aos usuários escrever, executar e gerenciar consultas SQL. Os principais recursos do SQL Editor incluem:
- Consulta intuitiva: Oferece suporte a realce de sintaxe, preenchimento automático e detecção de erros para que você possa escrever consultas com eficiência.
- Visualização de dados: Os usuários podem visualizar os dados diretamente no editor, o que facilita a compreensão dos conjuntos de dados antes de executar consultas complexas.
- Cache de resultados de consultas: Esse recurso melhora o desempenho ao armazenar em cache os resultados de consultas anteriores, permitindo tempos de resposta mais rápidos em consultas repetidas.
- Consultas parametrizadas: Os usuários podem criar consultas dinâmicas incorporando parâmetros, o que simplifica o processo de execução de consultas semelhantes com valores diferentes.
Editor SQL no Databricks SQL. Imagem do autor.
Painéis
Os painéis permitem a visualização de dados, transformando os resultados da consulta em tabelas, gráficos e widgets interativos. Os painéis são ideais para monitorar as principais métricas e comunicar insights de forma eficaz em uma organização. Os principais recursos dos painéis incluem o seguinte:
- Análise em tempo real: Atualize automaticamente os painéis com base nos resultados da consulta em tempo real.
- Colaboração: Compartilhe painéis de controle entre as equipes para promover decisões orientadas por dados.
- Personalização: Escolha entre uma variedade de tipos de visualização e opções de layout para atender a necessidades específicas.
Dashboards no Databricks SQL. Imagem do autor.
Alertas
Os alertas no Databricks SQL fornecem uma maneira de monitorar as alterações de dados e acionar notificações quando as condições especificadas são atendidas. Os alertas são essenciais para manter a qualidade dos dados e garantir respostas oportunas a mudanças importantes. A funcionalidade de alerta funciona da seguinte maneira.
- Definir condições: Defina limites ou regras com base nos resultados da consulta.
- Notificações de acionamento: Receba alertas por e-mail, Slack ou outras integrações quando as condições forem atendidas.
- Monitoramento proativo: Mantenha-se informado sobre eventos críticos, como anomalias de dados ou problemas de sistema, em tempo real.
Histórico de consultas e criação de perfis
Por fim, gostaria de dizer que o Databricks SQL oferece ferramentas para rastrear o histórico de consultas e a criação de perfis:
- Histórico de consultas: Esse recurso permite que os usuários revisem as consultas executadas anteriormente, fornecendo insights sobre seu desempenho ao longo do tempo. Isso ajuda a identificar tendências ou problemas recorrentes.
- Criação de perfil de consulta: As ferramentas de criação de perfil de consulta analisam a eficiência das consultas executadas, destacando os gargalos e sugerindo otimizações. Esse recurso é importante para melhorar o desempenho geral da consulta e a utilização dos recursos.
Histórico de consultas no Databricks SQL. Imagem do autor.
Principais recursos e ferramentas do Databricks SQL
O Databricks SQL está repleto de recursos e ferramentas avançados. Esses recursos foram projetados para melhorar o desempenho, otimizar os fluxos de trabalho e permitir a integração perfeita com outras ferramentas. Vamos examinar alguns dos principais aspectos que fazem do Databricks SQL uma excelente opção.
Motor de fótons
O Photon Engine é um mecanismo de consulta vetorizada de alto desempenho desenvolvido pela Databricks para acelerar significativamente a execução de consultas SQL. Os principais benefícios do Photon Engine incluem o seguinte:
- Execução vetorizada: Diferentemente do processamento tradicional linha a linha, o Photon utiliza a execução vetorizada, que processa os dados em lotes. Essa abordagem permite que você aproveite as instruções avançadas da CPU, como SIMD (Single Instruction, Multiple Data), para aumentar a eficiência.
- Integração com cargas de trabalho existentes: O Photon é totalmente compatível com as APIs do Apache Spark, o que significa que os usuários podem ativá-lo sem modificar o código existente. Essa integração perfeita permite que as organizações se beneficiem do desempenho aprimorado sem a necessidade de retrabalho extenso.
- Cache e otimização: O mecanismo inclui um otimizador de consulta avançado e uma camada de cache que seleciona de forma inteligente quais dados devem ser armazenados em cache, melhorando ainda mais o desempenho da consulta.
CloudFetch e E/S assíncrona
O CloudFetch e o Async I/O são recursos projetados para aumentar a velocidade de transferência de dados e melhorar o manuseio de arquivos pequenos durante a execução de consultas. Esses recursos funcionam das seguintes maneiras:
- CloudFetch: Esse recurso otimiza a forma como os resultados são gravados de volta no armazenamento em nuvem, permitindo gravações paralelas em todos os nós de computação. Ele reduz significativamente o tempo necessário para transferir grandes conjuntos de dados de volta aos clientes, alcançando um desempenho até 10 vezes mais rápido em cenários do mundo real.
- E/S assíncrona: Esse recurso aprimora o manuseio de arquivos pequenos ao ler vários blocos de dados simultaneamente enquanto processa os blocos atuais. Essa abordagem pode aumentar o desempenho geral da consulta em até 12 vezes ao lidar com arquivos pequenos (por exemplo, 1 MB). É particularmente eficaz em cenários que envolvem muitos arquivos pequenos ou "dados frios" que não são armazenados em cache.
Integração com ferramentas de BI
O Databricks SQL integra-se perfeitamente às ferramentas populares de Business Intelligence (BI), facilitando a análise e a visualização de dados pelas equipes. As integrações compatíveis incluem o seguinte:
- Power BI: Os usuários podem conectar o espaço de trabalho do Databricks diretamente ao Power BI, permitindo a fácil sincronização dos modelos de dados. Por exemplo, os analistas podem publicar relatórios diretamente do Databricks no Power BI, mantendo relações definidas entre tabelas sem intervenção manual.
- Tableau: Os usuários podem aproveitar as conexões em tempo real para visualizar os dados armazenados no Databricks SQL. Essa integração permite análises em tempo real e painéis interativos que refletem as últimas atualizações de dados.
- dbt: O Databricks SQL também se integra ao dbt (ferramenta de criação de dados), permitindo que as equipes gerenciem suas transformações diretamente no ambiente do Databricks. Essa integração oferece suporte a modelos incrementais e visualizações materializadas, simplificando o processo de criação e manutenção de pipelines de dados robustos.
Arquitetura sem servidor
A arquitetura sem servidor do Databricks SQL elimina a necessidade de gerenciamento manual da infraestrutura, provisionando e dimensionando automaticamente os recursos com base nas demandas de carga de trabalho. A arquitetura sem servidor ajustará automaticamente os recursos para lidar com cargas de consulta variáveis sem tempo de inatividade. Esse recurso garante que os usuários não precisem configurar ou manter os clusters manualmente. A arquitetura sem servidor também é econômica, pois os usuários pagam apenas pelos recursos usados durante a execução da consulta.
Por exemplo, uma empresa de varejo tem altas cargas de consulta durante o horário comercial de pico. A arquitetura sem servidor dimensiona automaticamente os recursos para garantir um desempenho consistente e reduz os recursos fora do horário comercial para economizar custos.
Guia passo a passo para criar e usar os armazéns SQL do Databricks
Os SQL Warehouses da Databricks são essenciais para que você possa executar consultas SQL com eficiência no ambiente da Databricks. Agora, nesta seção, orientarei você no processo de criação de um armazém SQL e seu uso com notebooks. Se você precisar atualizar seus conhecimentos sobre data warehouses, recomendo que faça nosso curso Conceitos de Data Warehousing para aprender os fundamentos da modelagem e transformação de dados.
Criação de um Databricks SQL Warehouse
Siga estas etapas para criar um SQL Warehouse usando a interface do usuário da Web do Databricks:
Etapa 1: Navegue até a página SQL do Databricks
No espaço de trabalho do Databricks, clique no ícone SQL na barra lateral.
Página SQL do Databricks. Imagem do autor.
Etapa 2: Abra a guia SQL Warehouses
Na página SQL, navegue até a guia SQL Warehouses.
Guia Databricks SQL Warehouse. Imagem do autor.
Etapa 3: Clique em "Create Warehouse" (Criar depósito)
Clique no botão Create Warehouse para começar a configurar seu novo SQL Warehouse.
Criando o SQL Warehouse no Databricks SQL. Imagem do autor.
Etapa 4: Configurar as definições básicas
Defina as configurações do depósito usando as seguintes opções.
- Nome: Forneça um nome exclusivo e descritivo para seu SQL Warehouse.
- Tamanho do cluster: Escolha o tamanho do cluster com base nos requisitos de carga de trabalho que você tem. Não é preciso dizer que clusters maiores lidam com mais consultas simultâneas e conjuntos de dados maiores.
- Auto-Stop: Defina o período de tempo limite de inatividade para interromper automaticamente o depósito quando ele não estiver em uso. Dez minutos parecem razoáveis para mim. Isso economiza custos ao liberar recursos quando ociosos.
- Dimensionamento: Ative o Auto-Scaling para ajustar os recursos dinamicamente com base na carga da consulta. Especifique o número mínimo e máximo de clusters dentro dos quais você deve dimensionar.
- Opção sem servidor: Se estiver disponível em sua conta, escolha o Serverless SQL Warehouse para simplificar o gerenciamento e o dimensionamento automático.
Defina as configurações básicas do Databricks SQL Warehouse. Imagem do autor.
Etapa 5: Opções avançadas (opcional)
Se necessário, configure opções avançadas, como ativar o Photon ou definir configurações específicas de SQL.
Defina as configurações avançadas do Databricks SQL Warehouse. Imagem do autor.
Etapa 6: Salvar e iniciar o depósito
Clique em Create para salvar sua configuração. Depois de criado, inicie o depósito para torná-lo operacional.
Criando o Databricks SQL Warehouse. Imagem do autor.
Etapa 7: Definir permissões (opcional)
Após a criação, será exibido um modal de permissões no qual você pode conceder aos usuários ou grupos acesso ao depósito.
Gerenciar permissões do Databricks SQL Warehouse. Imagem do autor.
Depois de criado, o armazém SQL será iniciado automaticamente, permitindo que você execute consultas imediatamente.
Exemplo de Databricks SQL Warehouse. Imagem do autor.
Usando um Notebook com um Databricks SQL Warehouse
Para executar consultas SQL em um notebook usando o armazém SQL recém-criado, siga estas etapas:
Etapa 1: Abrir ou criar um Notebook
No espaço de trabalho do Databricks, crie um novo notebook ou abra um já existente.
Criando um novo Notebook para criar o Databricks SQL Warehouse. Imagem do autor.
Etapa 2: Anexar o SQL Warehouse
Na barra de ferramentas do Notebook, localize o seletor de computação ou conexão (geralmente exibido na parte superior). Clique nele para abrir um menu suspenso que mostra os recursos de computação disponíveis. Selecione seu depósito SQL na lista. Se não estiver visível, clique em More... (Mais... ) para visualizar todos os depósitos disponíveis. Clique no depósito SQL desejado e selecione Iniciar e anexar.
Anexe o Notebook no Databricks SQL Warehouse. Imagem do autor.
Etapa 3: Escrever consultas SQL
Uma vez anexado, você pode criar células em seu notebook para consultas SQL. Use o comando mágico %sql
para executar consultas SQL no notebook.
Escreva consultas SQL no Databricks SQL Warehouse. Imagem do autor.
Etapa 4: Executar as consultas
Execute a célula para executar sua consulta. Os resultados serão exibidos diretamente abaixo da célula, facilitando a visualização dos dados.
Executar consultas SQL no Databricks SQL Warehouse. Imagem do autor.
Considerações sobre o uso de um Notebook com um SQL Warehouse
A seguir, você encontrará algumas considerações ao usar notebooks com SQL Warehouses:
-
Limites de consulta: Os SQL Warehouses são otimizados para consultas analíticas, não para consultas transacionais frequentes e de baixa latência.
-
Visualização de dados: Para conjuntos de dados grandes, considere a possibilidade de limitar os resultados da consulta, como o uso da cláusula
LIMIT
para evitar gargalos de desempenho. -
Cache de consulta: Aproveite o cache de resultados para acelerar as consultas repetidas.
-
Utilização de recursos: Monitore a utilização do SQL Warehouse para garantir que o tamanho do cluster e as configurações de dimensionamento atendam às suas necessidades de carga de trabalho.
Conclusão
O Databricks SQL é uma plataforma avançada que preenche a lacuna entre os data lakes e os data warehouses, fornecendo uma solução unificada para análise de dados e business intelligence modernos. Quer você esteja criando painéis, otimizando consultas ou monitorando dados com alertas, o Databricks SQL oferece a flexibilidade e o desempenho necessários para lidar com os desafios de dados atuais. Incentivo você a explorar os recursos e as funcionalidades do Databricks SQL para aprimorar seus fluxos de trabalho de dados, capacitar a colaboração e promover uma tomada de decisão mais inteligente e rápida.
Se você estiver interessado em se tornar um engenheiro de dados profissional, recomendo enfaticamente que faça o curso Understanding Data Engineering da DatacMap para saber como os engenheiros de dados armazenam e processam dados para facilitar a colaboração com os cientistas de dados. Também recomendo que você faça nosso curso Data-Driven Decision-Making in SQL para aprender a usar o SQL para apoiar a tomada de decisões usando projetos do mundo real. Além disso, é claro, não se esqueça de dar uma olhada em nossa grande variedade de cursos sobre nuvem.
Perguntas frequentes sobre SQL da Databricks
O que é o Databricks SQL e como ele difere dos bancos de dados SQL tradicionais?
O Databricks SQL é uma ferramenta de análise sem servidor projetada para a plataforma Databricks Lakehouse, combinando a escalabilidade dos data lakes com o desempenho dos data warehouses.
Como posso otimizar o desempenho no Databricks SQL?
Use o mecanismo Photon para acelerar a execução de consultas, habilitar o cache de resultados de consultas e configurar o dimensionamento automático em SQL Warehouses para lidar com cargas de trabalho de forma eficiente.
O Databricks SQL pode ser integrado a ferramentas de BI existentes, como Power BI e Tableau?
Sim, o Databricks SQL se integra perfeitamente às ferramentas populares de BI, permitindo a visualização de dados em tempo real e a colaboração aprimorada entre as equipes.
Quais são os diferentes tipos de armazéns SQL no Databricks SQL e como faço para escolher o correto?
Os SQL Warehouses estão disponíveis nas opções Classic, Pro e Serverless. Escolha com base nas necessidades de carga de trabalho: Classic para consultas básicas, Pro para casos de uso avançados e Serverless para simplicidade e escalabilidade.
Como o Databricks SQL lida com a governança e a segurança dos dados?
O Databricks SQL oferece suporte a controles de acesso refinados, segurança em nível de linha e coluna, e integra-se a provedores de identidade para uma governança robusta.
Aprenda Databricks com o DataCamp
curso
Databricks Concepts
curso
Data Management in Databricks
blog
Um guia abrangente para a certificação SQL no DataCamp
blog
Certificações da Databricks em 2024: O guia completo

Gus Frazer
24 min
tutorial
Exemplos e tutoriais de consultas SQL
tutorial
Tutorial de como executar consultas SQL em Python e R
tutorial
Como usar GROUP BY e HAVING no SQL

Eugenia Anello
6 min
tutorial