Olá! Bem-vindos ao curso de Databricks para Engenharia de Machine Learning (aprendizado de máquina). Meu nome é João Manuel e serei seu instrutor ao longo deste curso.
Audiodescrição: João é um homem branco, com cabelo castanho na altura dos ombros e barba curta preta. Usa uma camiseta preta e, ao fundo, há uma estante de livros iluminada em azul.
Tenho mais de cinco anos no mercado de dados. Atuei em diversas equipes de ciência de dados, engenharia de dados e engenharia de aprendizado de máquina. Sou engenheiro e tenho mestrado, ambos pela Universidade de São Paulo, e atualmente faço doutorado com foco em visão computacional e inteligência artificial.
Este curso está dividido em seis aulas. Nós vamos nos familiarizar com o ambiente do Databricks: entender como funciona, o que oferece e como criar uma conta. Em seguida, nós vamos desenvolver nosso modelo de Machine Learning (aprendizado de máquina) e realizar a implantação desse modelo.
Teremos um projeto muito interessante, que abrangerá desde a construção da camada inicial no Databricks — como criamos as tabelas e como realizamos nosso processo de ETL dentro do Databricks — até, de fato, o treinamento do modelo inicial e o deployment (implantação) desse modelo. Também veremos como automatizar etapas e, por exemplo, como realizar a engenharia de características do nosso modelo. Será um projeto orientado a resolver um problema de negócio real: a recomendação de produtos em um e-commerce (comércio eletrônico).
É isso. Eu espero que vocês gostem da nossa aula e até o próximo vídeo.
Olá, todes! Bem-vindes a outra aula.
Agora, faremos uma introdução ao Databricks e veremos como podemos criar nossa conta de forma gratuita para ter acesso a praticamente todos os recursos disponíveis na plataforma.
O que é o Databricks? O Databricks é um ambiente em nuvem fundado pelas mesmas pessoas criadoras do Spark, do Delta Lake e do MLflow. Todas essas tecnologias estão muito bem integradas ao ecossistema do Databricks. Trata-se de uma plataforma com foco em Inteligência Artificial, analítica e agentes. Assim, podemos reunir essa combinação de ferramentas com uma camada de governança, denominada arquitetura Lakehouse.
Além de contar com tecnologias de código aberto, como Spark, Python e bibliotecas de aprendizado de máquina, também temos toda a parte de governança estruturada, que é muito importante para o ambiente corporativo.
Nesta série de aulas, nós vamos realizar um projeto de ingestão de dados no Databricks. Veremos como podemos fazer essas ingestões. Existem diversas formas pelas quais o Databricks pode aceitar a ingestão de dados, incluindo conectores externos, mas nós vamos nos concentrar na ingestão do nosso projeto. Criaremos toda a camada de dados do nosso projeto, que será a recomendação de produtos para o e-commerce (comércio eletrônico).
Agora, veremos a edição gratuita e como criar a conta para aproveitar todas as funcionalidades do Databricks. Entre as principais características da edição gratuita, nós realmente podemos criar e explorar diversos tipos de desenvolvimento com Inteligência Artificial, desenvolver nossas habilidades com dados e fazer tudo isso sem qualquer custo. Podemos criar agentes de IA ou treinar modelos clássicos, que é o que vamos fazer, além de realizar toda a parte de visualização dos nossos dados.
O Databricks possui uma integração muito boa com SQL, de modo que, ao mesmo tempo, podemos criar um notebook (caderno de código) de Python e também um notebook (caderno de código) de SQL na mesma linha de código e explorar toda a orquestração da parte de engenharia de dados.
Aqui temos algumas limitações, principalmente no tipo de máquina a que teremos acesso. É uma máquina razoável, uma máquina boa, mas não será suficiente para criarmos nossos modelos. Como trabalhamos com máquinas serverless (sem servidor), que são máquinas on-demand (sob demanda), acabamos enfrentando gargalos dependendo do horário do dia. Pode ser que não haja máquinas disponíveis e a execução do nosso código acabe demorando mais.
Criar a conta é relativamente simples. Acessamos a página da edição gratuita do Databricks e clicamos em registrar. Será solicitada uma conta para fazermos login (autenticação), então podemos iniciar sessão com uma conta do Google ou da Microsoft. Em seguida, inserimos um e-mail pessoal e receberemos um código nesse e-mail. É simples assim. Escolhemos a conta desejada, o código chegará e realizaremos o acesso.
Agora vamos mostrar as opções. Podemos escolher o tipo de uso. O Databricks permite uso corporativo, com algumas limitações; nesse caso, obtemos 14 dias e alguns créditos para utilizar. Se usarmos um e-mail pessoal genérico (como Hotmail ou Gmail), receberemos um pouco menos de crédito, mas, se usarmos um e-mail corporativo, recebemos US$ 400 de crédito. Neste caso, vamos usar para uso pessoal, clicando na edição gratuita para uso pessoal.
Depois, escolhemos o nome da conta; vamos manter o nome como está, selecionamos nossa região, que é Brasil, e resolvemos um pequeno quebra-cabeça. Concluído.
Em seguida, aparecerão algumas informações que podemos omitir, pois não são necessárias. A plataforma começará a configurar nossa conta; isso leva alguns segundos e pode demorar 1 ou 2 minutos, dependendo do horário em que estivermos criando a conta. Vamos aguardar.
Pronto. Foi simples: não levou nem 3 minutos e já temos nossa conta no Databricks criada. Muitos recursos já estão disponíveis. Em seguida, mostraremos, de forma breve, como explorar as ferramentas do Databricks.
O objetivo deste vídeo foi basicamente mostrar como criar uma conta gratuita no Databricks (edição gratuita).
Olá, pessoal! Sejam bem-vindes a outro vídeo.
Agora, vamos entender a arquitetura do Databricks, suas principais características e o que a diferencia de outras arquiteturas de Big Data no mercado. Podemos destacar três características importantes: Delta Lake, o Unity Catalog e uma plataforma com arquitetura Lakehouse (arquitetura híbrida de dados).
Para entender o que é a arquitetura Lakehouse (arquitetura híbrida de dados), precisamos retomar os diferentes tipos de arquitetura quando falamos de Big Data. A primeira delas é o Data Warehouse (armazém de dados), a primeira arquitetura que surgiu quando havia a necessidade de unificar dados dentro do ambiente corporativo. Os dados estavam em diversas fontes e em vários ambientes diferentes. Fazemos essa unificação e utilizamos ETLs (extração, transformação e carga) para transformar os dados e construir o Data Warehouse (armazém de dados), que costuma ser um ambiente mais on-premises (local), com tecnologias de código fechado e cujo foco é realizar BI (inteligência de negócios), dashboards (painéis) executivos e análises orientadas à tomada de decisão executiva. Fazemos essa unificação de dados totalmente em formato tabular, garantindo governança de dados e controle de acesso a cada tabela, mas com foco principal em realizar análises e construir dashboards (painéis). Há pouco uso de tecnologias de inteligência artificial e ciência de dados, sobretudo por serem ambientes com tecnologias de código fechado, o que reduz a liberdade para mudanças e modificações.
Em seguida, surgiu o Data Lake (lago de dados), uma evolução do Data Warehouse (armazém de dados), no qual pudemos incorporar tecnologias mais novas, como Scala, Python e PySpark, muito utilizadas na camada de ciência de dados e inteligência artificial. Passamos a suportar vários tipos de dados: estruturados, não estruturados e semiestruturados. Aqui, por exemplo, temos dados de imagem, vídeo, áudio, PDFs, e também preservamos a parte do Data Warehouse (armazém de dados), isto é, mantemos os dados estruturados necessários dentro do nosso Data Lake (lago de dados). Realizamos transformações com foco principal na criação de modelos de machine learning (aprendizado de máquina), na criação de agentes de IA e em aplicações orientadas a ciência de dados. Embora construamos sobre tecnologias de código aberto e o foco seja machine learning (aprendizado de máquina), mantemos a camada de Data Warehouse (armazém de dados), pois precisamos dessa estruturação, de organizar os dados e de ter governança, algo essencial no âmbito corporativo.
A arquitetura Lakehouse (arquitetura híbrida de dados) combina o melhor dos dois mundos. Nela, podemos ter tudo o que havia no Data Lake (lago de dados) e no Data Warehouse (armazém de dados), agora em uma camada mais unificada e com muito mais governança. Isso significa que podemos construir um modelo de machine learning (aprendizado de máquina) que estará sob a mesma governança que antes tínhamos apenas no Data Warehouse (armazém de dados). Por exemplo, podemos colocar em produção esse modelo, colocar em produção uma feature (atributo) e não apenas uma tabela para usar na construção de indicadores. Podemos aplicar governança aos nossos modelos e aos nossos dados, seja uma tabela ou dados não estruturados, como PDFs ou áudios. É uma arquitetura muito interessante. Além disso, podemos realizar todos os tipos de análises: toda a parte de BI (inteligência de negócios), a parte analítica, bem como a parte de machine learning (aprendizado de máquina), agentes e agendas relacionadas, e ciência de dados, sem abrir mão da camada de governança de dados. Essa é a principal característica da arquitetura Lakehouse (arquitetura híbrida de dados): combinar as tecnologias mais modernas — a parte de ciência de dados e machine learning (aprendizado de máquina) — com a governança de que precisamos em um ambiente corporativo.
A característica principal que vamos destacar é a construção que já existe de forma nativa com o Delta Lake. O Delta Lake é uma evolução dos arquivos Parquet à qual adicionamos uma camada de versionamento e log dentro dos próprios Parquet. Assim, passamos a ter transações ACID (atomicidade, consistência, isolamento e durabilidade). Atomicidade significa que ou todos os dados são salvos ou nenhum é salvo. Consistência significa que os dados são gravados com o tipo esperado naquele conjunto específico; por exemplo, um dado numérico será gravado como numérico e um dado do tipo string (texto) será gravado como string (texto), garantindo a manutenção do esquema original. Isolamento é fundamental porque a camada de leitura e a camada de escrita do nosso conjunto de dados são distintas. Durabilidade significa evitar conflitos entre várias versões do conjunto de dados; uma vez que um dado específico é gravado, se não houver modificação futura, isto é, se não for sobrescrito, ele permanecerá como está. Podemos estruturar o ambiente de modo que novas ingestões não afetem o histórico, o que é muito importante.
A segunda característica é a relação natural com o time travel (viagem no tempo). Isso é fantástico.
Como dissemos, ao adicionar um log (registro) e mais governança sobre o Data Lake (lago de dados), podemos ver versões dos nossos dados. Veremos isso mais adiante, quando começarmos a explorar o ambiente do Databricks, observando como funciona na prática. Basicamente, imaginemos que fizemos uma alteração nos dados há uma semana e queremos verificar como estavam os dados há dois meses. Com o time travel (viagem no tempo), se configurado para manter uma janela de tempo maior, podemos retornar à versão antiga e consultar os dados exatamente como estavam naquela versão. E, se necessário, podemos fazer rollback (reversão) e voltar àquela versão anterior. É uma tecnologia excelente que, para quem trabalha com dados, pode salvar muitos projetos.
Também há suporte às operações MERGE e à evolução de esquema. Isso é muito útil. Antes, quando alterávamos o esquema da tabela e adicionávamos uma nova coluna, às vezes precisávamos excluir a definição lógica da tabela para que o Spark a recriasse. Com o Delta Lake, isso não é necessário. Ele suporta naturalmente essa evolução, que é algo comum. Às vezes colocamos um modelo em produção ou criamos uma tabela sem determinada informação; depois queremos adicionar essa informação, e o Delta Lake facilita bastante esse controle.
O Unity Catalog é onde centralizaremos nosso catálogo de dados. É comum, especialmente ao migrar de uma arquitetura de Data Warehouse (armazém de dados), existir um catálogo de dados não unificado na empresa. Ao acessá-lo, verificamos que um dado está em um ambiente e outro dado pode estar em outro ambiente totalmente distinto, sem comunicação entre si, o que gera confusão ao acessar ou descobrir novos dados. Com o Unity Catalog, centralizamos tudo na plataforma do Databricks e adicionamos uma camada adicional de governança. Podemos consultar uma tabela específica e ver, por exemplo, suas colunas e a descrição da tabela. Isso torna a descoberta de novos dados muito mais simples.
Esse processo não se aplica apenas a tabelas ou dados estruturados. Podemos catalogar praticamente tudo que estiver disponível no Databricks: modelos, features (características) e outros tipos de dados. É uma ferramenta excelente e, naturalmente, conta com a parte de governança de dados, pois não será possível acessar tabelas para as quais não há permissão. É uma camada muito interessante e uma das inovações do ambiente Databricks.
O Unity Catalog se integra a diversos ambientes de armazenamento, como AWS, Google Cloud e Azure. Ao explorarmos o Databricks, veremos que existem muitas ferramentas disponíveis para essas conexões, atendendo claramente às demandas do nosso projeto.
Vamos relembrar a arquitetura Medallion (medalhas), pois ela será útil. A partir do Unity Catalog, criaremos várias camadas no projeto que vamos implementar. Temos a camada bronze, que representa a ingestão de dados brutos, praticamente sem alterações, tal como são consumidos na fonte. Em seguida, criamos a camada silver (prata), na qual realizamos algum tipo de limpeza e uma validação inicial do conjunto de dados. Por exemplo, às vezes os dados chegam em formato string (texto) e, na camada silver, convertê-los para numérico, se necessário. São processos de ETL (extração, transformação e carga) mais simples, mas ainda assim ETL. Às vezes recebemos dados semiestruturados; nessa camada já podemos estruturar novas colunas.
Por fim, temos a camada gold (ouro), a camada final, onde aplicamos regras de negócio, validações e agregações finais, possivelmente combinando com outras tabelas, para alimentar nosso modelo de machine learning (aprendizado de máquina). Relembramos essa arquitetura porque construiremos algo muito parecido no ambiente do Databricks.
O Databricks Runtime é um ambiente otimizado para machine learning (aprendizado de máquina) e AI (inteligência artificial). O Databricks tem forte foco em machine learning e ciência de dados e já inclui várias bibliotecas pré-instaladas, como PySpark e scikit-learn. Ele possui integração nativa com o MLflow para gerenciar modelos. Outra vantagem do Databricks é que, no mesmo notebook (caderno), podemos executar código Python e, se necessário, consultas SQL. Há integração real, e o Databricks foi projetado com foco em engenharia de dados e em modelos de machine learning, o que facilita bastante nosso trabalho diário.
O MLflow vem integrado ao Databricks, o que torna simples a realização de experimentos. Por padrão, ele exibe uma baseline (linha de base) de alguns modelos, recurso muito útil. Podemos acompanhar métricas com muito mais facilidade, por exemplo, para verificar o desempenho do nosso modelo em produção. O Databricks nos oferece um ambiente praticamente pronto para colocar nosso modelo em produção, monitorar seu desempenho, realizar todo o registro e o versionamento dos modelos, ou seja, gerenciar todo o ciclo de vida do nosso modelo de machine learning.
Eu espero que vocês tenham gostado da aula de hoje. Até a próxima.
O curso Databricks: engenharia de Machine Learning e MLOps possui 327 minutos de vídeos, em um total de 63 atividades. Gostou? Conheça nossos outros cursos de MLOps e Operacionalização em Dados, ou leia nossos artigos de Dados.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Modo entrevista - Pratique situações reais e evolua com feedback personalizado
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.