Usar o Spark em notebooks
Você pode executar muitos tipos diferentes de aplicativos no Spark, incluindo código em scripts Python ou Scala, código Java compilado como JAR (Arquivo Java) e outros. O Spark é normalmente usado em dois tipos de cargas de trabalho:
- Trabalhos de processamento em lote ou fluxo para ingerir, limpar e transformar dados (geralmente em execução como parte de um pipeline automatizado).
- Sessões de análise interativas para explorar, analisar e visualizar dados.
Edição de notebooks e noções básicas de código
Os notebooks do Databricks são o principal ambiente de trabalho para ciência de dados, engenharia e análise. Elas são criadas em torno de células, que podem conter código ou texto formatado (Markdown). Essa abordagem baseada em célula facilita a experimentação, o teste e a explicação do trabalho em um só lugar. Você pode executar uma única célula, um grupo de células ou todo o notebook, com saídas como tabelas, gráficos ou texto sem formatação aparecendo diretamente abaixo da célula executada. As células podem ser reorganizadas, recolhidas ou limpas para manter seu notebook organizado e legível.
Uma grande força dos notebooks do Databricks é o suporte a vários idiomas. Embora o padrão seja geralmente Python, você pode alternar para SQL, Scala ou R no mesmo bloco de anotações usando comandos mágicos como %sql ou %scala. Essa flexibilidade significa que você pode escrever lógica ETL no SQL, código de aprendizado de máquina no Python e visualizar resultados com R, tudo em um fluxo de trabalho. O Databricks também fornece preenchimento automático e realce de sintaxe, facilitando a captura de erros e acelerando a codificação.
Antes de executar qualquer código, um notebook deve ser anexado a um cluster. Sem um cluster anexado, as células de código não podem ser executadas. Você pode selecionar um cluster existente na barra de ferramentas do notebook ou criar um novo, e pode facilmente desvincular e revincular notebooks quando necessário. Essa conexão é o que permite que seu notebook aproveite o poder de processamento distribuído no Azure Databricks.
Usando o Assistente do Databricks
O Assistente do Databricks é um complemento de codificação baseado em IA integrado diretamente a notebooks. Seu objetivo é ajudá-lo a escrever, entender e melhorar o código com mais eficiência aproveitando o contexto do bloco de anotações e do workspace. Ele pode gerar um novo código a partir de prompts de linguagem natural, explicar lógica complexa, sugerir correções para erros, otimizar o desempenho e até mesmo refatorar ou formatar seu código para legibilidade. Isso o torna valioso não apenas para iniciantes que aprendem Spark ou SQL, mas também para usuários experientes que desejam acelerar o desenvolvimento e reduzir o trabalho repetitivo.
O assistente tem reconhecimento de contexto, o que significa que ele pode usar informações sobre seu notebook, cluster e ambiente de dados para fornecer sugestões personalizadas. Por exemplo, se o workspace tiver o Catálogo do Unity habilitado, ele poderá efetuar pull de metadados como nomes de tabela, nomes de coluna e esquemas ao escrever consultas SQL. Isso permite que você pergunte algo como "Selecione o valor médio de vendas por região da tabela de vendas" e obtenha um código SQL funcional que se ajuste ao seu modelo de dados real. Da mesma forma, no Python, você pode pedir que ele crie transformações de dados ou trabalhos do Spark sem precisar cancelar todas as assinaturas de função da memória.
Você interage com o assistente de duas maneiras principais:
Prompts de idioma natural – você pode digitar instruções em inglês simples na interface semelhante ao chat e ele inserirá código em seu notebook.
Comandos slash – comandos rápidos como
/explain,/fixou/optimizeque permitem agir sobre o código selecionado. Por exemplo,/explaindivide uma função complexa em etapas mais simples,/fixpode tentar resolver erros de sintaxe ou runtime e/optimizesugere melhorias de desempenho, como reparticionamento ou uso de funções eficientes do Spark.
Um recurso poderoso é o modo de edição, em que o assistente pode propor alterações estruturais maiores em várias células. Por exemplo, ele pode refatorar a lógica repetida em uma única função reutilizável ou reestruturar um fluxo de trabalho para melhor legibilidade. Você sempre tem controle: as sugestões são não estruturativas, o que significa que você pode revisá-las e aceitá-las ou rejeitá-las antes de aplicar alterações ao bloco de anotações.
Compartilhamento e modularização de código
Para evitar duplicação e melhorar a manutenção, o Databricks suporta a colocação de código reutilizável em arquivos (por exemplo, módulos .py) no espaço de trabalho, que os notebooks podem importar. Há mecanismos para orquestrar notebooks (ou seja, executar notebooks de outros notebooks ou trabalhos com várias tarefas), para que você possa criar fluxos de trabalho que utilizam funções ou módulos compartilhados. O uso %run é uma maneira mais simples de incluir outro notebook, embora com algumas limitações.
Depuração, histórico de versão e desfazer erros
O Databricks oferece um depurador interativo interno para notebooks Python: você pode definir pontos de interrupção, percorrer a execução, inspecionar variáveis e navegar pela execução de código passo a passo. Isso ajuda a isolar bugs de forma mais eficaz do que a depuração de impressão/log.
Os notebooks também mantêm o histórico de versões automaticamente: você pode exibir instantâneos anteriores, fornecer descrições de versão, restaurar versões antigas ou excluir/limpar o histórico. Se você estiver usando a integração do Git, poderá sincronizar e versionar notebooks e arquivos no seu repositório.
Dica
Para obter mais informações sobre como trabalhar com notebooks no Azure Databricks, consulte o artigo Notebooks na documentação do Azure Databricks.