Criando o Workspace Databrick - AnselmoBorges/projetorescue GitHub Wiki
Nessa etapa vamos criar:
- Workspace Databricks
- Criar um Access Connector for Azure Databricks
- Criar um container novo no Storage Account de nome
meta
- Criar um MetaStore no Unity Catalog (porque nóis é fresco)
- Setar o privilégio de Storage Blob Contributor para o Access Connector
- Criar um External Storage para uso no Databricks
Vídeo do conteúdo
O que é o Databricks?
Mas antes, o que seria o Databricks eim? O Databricks desenvolve uma plataforma baseada na web para trabalhar com o Spark, que fornece gerenciamento automatizado de cluster e notebooks no estilo IPython
Ele permite que com o uso do Hive (um banco de dados diferentão) e os arquivos armazenados no lake, permite que eu crie grupos de databases e tabelas, Com base nos arquivos armazenados de diversos formatos no Lake. Esse uso visa integrar diversas fontes de dados realizando análises extremamente performáticas E com gerenciamento simples através de consultas sparkSQL ou Python.
Como ele é dividido
O Databricks é dividido em duas camadas, a primeira delas é o chamado control plane, Que fica por total responsabilidade do fornecedor. Trata-se de uma interface web por onde gerencio aplicação, todo o controle de acesso E gerenciamento de funções é realizado por lá. Existe uma segunda camada chamada data Plan, essa é por nossa conta, nela configuro o local onde serão armazenados os dados e os clusters, que serão usados no processo computacional de análise dos dados.
O Databricks somente cobra pela segunda parte, mais especificamente pelo poder computacional. Existe também a cobrança pela licença a qual eu contrato, que pode ser standard ou premium, mas seriam somente essas as cobranças, ou seja, você paga pelo uso.
O que é o Unity Catalog?
O Unity Catalog do Databricks é um recurso que permite que você gerencie e descubra dados e metadados em seus projetos de big data. Ele funciona como uma espécie de catálogo de dados, que permite que você navegue e pesquise através dos dados armazenados no Databricks. Com o Unity Catalog, você pode criar e gerenciar tabelas, visualizar as dependências entre tabelas e visualizar estatísticas de dados. Ele também ajuda a manter os dados consistentes em diferentes projetos e equipes, permitindo que você mantenha uma visão única e compartilhada de seus dados. Em resumo, o Unity Catalog do Databricks é uma ferramenta útil que ajuda a gerenciar e manter seus dados de big data organizados e acessíveis.
Criando o Workspace Databricks no Azure
Para criar um Azure Databricks, siga os seguintes passos:
Acesse o portal do Azure em https://portal.azure.com/.
- Clique em "Criar um recurso" na barra de navegação à esquerda.
- Na página de criação de recursos, pesquise por "Databricks" na barra de pesquisa.
- Selecione "Databricks Workspace" na lista de resultados e clique em "Criar".
- Use o resource group que criamos
projetorescue
e de o nome derescueadb
pro workspace. - Em seguida, escolha a região em que o workspace será hospedado, no nosso caso
Brazil South
. - Escolha a opção de licença
Trial (Premium - 14-Days Free DBUs)
que ai não gastamos muito e usamos o que o Databricks oferece de melhor. - Nas configurações de rede vamos deixar como está assim ele vai criar nosso Databricks publico.
- Coloque as tags pra identificar o recurso nesse caso
POC
eProjeto Rescue
- Revise e confirme as configurações, em seguida, clique em "Criar".
Depois de criar o workspace, você pode acessá-lo através do portal do Azure ou pelo URL que foi criado e no canto superior direito onde aparece seu usuário, clique e escolha Manage Account
, vamos ser direcionados para a página do Unity Catalog.
Configurando o MetaStore do Unity Catalog
Precisava pro nosso tutorial? Não! Mas como é uma ferramenta foda que foi lançada pela Databricks, já fica um tutorial em vídeo de como fazer. Mas antes de começar temos que criar o Access Connector for Azure Databricks
Criando o Access Connector for Azure Databricks:
Esse recurso que vamos criar é tipo um user de serviço do Databricks que vai fazer o acesso com o Storage Account da Azure, no nosso caso para 2 coisas, 1o para o MetaStore que é uma área que guardamos nossos databases e tabelas, o legal dele é que podemos compartilhar essa estrutura com mais de um workspace. 2o mas não uma boa prática, vamos criar um external storage
que seria uma área onde o Databricks pode acessar no storage account, tanto para ler dados como para guardar dados, no caso de external tables.
- Vá em criar recurso e depois na busca digite
Access Connector for Azure Databricks
- Use o resource group de sempre
projetorescue
. - Use o nome
srvadb
. - Escolha a mesma região dos outros recursos
Brazil South
. - Coloque os tags, sempre os mesmos,
POC
eProjeto Databricks
- Clique em revisar e criar.
Esse é bem rápido e sem segredo, assim que criado vá para o recurso e copie o Resource ID
dele, vamos precisar lá na configuração do Metastore.
Criando o container meta.
Vamos criar mais um container no storage account chamado meta
onde armazenaremos nosso metastore, o procedimento é bem simples, caso necessário olhe a criação do metastore dados
no link anterior a esse ou no vídeo de criação do Storage Account.
Criando o Metastore:
Dentro do Unity Catalog que entramos no Manager Account
do Databricks citado anteriormente, vamos em Data
e criar um Metastore, lá serão pedidas as seguintes informações:
- Name: Vamos chamar de
meta01
- Region: Vamos usar
brazilsouth
- ADLS Gen 2 path: é o caminho do container
meta
que criamos, use isso se você criou com os nomes que eu pedi >[email protected]/
- Access Connector ID: Lembra do Resource ID que pedi prá copiar agora pouco? É ele.
Feito isso ele vai pra próxima parte, onde vinculamos esse metastore a um workspace, vamos vincula-lo ao único que temos, o rescueadb
.
Pronto! Nosso metastore está configurado e se você for em data
lá no workspace vai ver o catalogo sendo exibido. Sem o Unity Catalogo isso só é possível com um Cluster iniciado.
Configurando o External Storage no Workspace
Lembra do outro container do storage account chamado dados
? Nós vamos usa-lo como External Storage, vamos usar essa mesma chave que já criamos, ela aparece em credentials, com um hash mais ou menos assim 8f5fc300-3b00-4cda-b629-4843eab36db7-data-access-config-1678933942517
.
Porem, precisamos dar 2 tipos de privilégios pra ela lá no IAM do Storage account e no ACL do Container dados
.
No IAM vá em Add
e Add Role Management
, atribua Storage Blob Contributor
para a chave que criamos srvadb
. No ACL do container dados, adicione o srvadv
e selecione as caixinhas de leitura, escrita e execução.
Caso fiquem duvidas no ponto acima, veja o vídeo que tá bem de boas.
Conclusão.
Com isso já temos nosso Workspace Databricks, com Metastore no Unity Catalog e um External Storage configurado. Poderiamos criar nosso SQL Warehouse
agora mas seria jogar dinheiro no lixo, temos que configurar outras coisas ainda, no próximo tópico quando integrarmos o Databricks com Airflow faremos isso.