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 projetorescuee de o nome derescueadbpro 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 POCeProjeto 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, POCeProjeto 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 metaque 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.
