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

Projeto Rescue - Configurando um storage account

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/.

  1. Clique em "Criar um recurso" na barra de navegação à esquerda.
  2. Na página de criação de recursos, pesquise por "Databricks" na barra de pesquisa.
  3. Selecione "Databricks Workspace" na lista de resultados e clique em "Criar".
  4. Use o resource group que criamos projetorescue e de o nome de rescueadb pro workspace.
  5. Em seguida, escolha a região em que o workspace será hospedado, no nosso caso Brazil South.
  6. 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.
  7. Nas configurações de rede vamos deixar como está assim ele vai criar nosso Databricks publico.
  8. Coloque as tags pra identificar o recurso nesse caso POC e Projeto Rescue
  9. 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.

  1. Vá em criar recurso e depois na busca digite Access Connector for Azure Databricks
  2. Use o resource group de sempre projetorescue.
  3. Use o nome srvadb.
  4. Escolha a mesma região dos outros recursos Brazil South.
  5. Coloque os tags, sempre os mesmos, POC e Projeto Databricks
  6. 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.