Fala dataholics, nessa segunda parte sobre Unity Catalog, mergulhemos profundamente na implementação e organização do Unity Catalog, abaixo foi o roteiro que utilizei pra esse vídeo com os principais tópicos.
# Roteiro Unity Catalog Parte 2:
Apresentação do ambiente no Azure: Workspaces, Storages, Access Conectors (Managed Identities e App Registration)
Objetivo do vídeo: Entender os componentes do Unity Catalog e criar um ambiente do zero.
Apresentação do Databricks Account
Diferenças entre Account e Workspace
Gestão centralizada de todos Workspaces, Metastore e Logins e grupos
Identity Federation - Gerenciando acessos em um local centralizado
Account Console - Tela de Workspaces
Mostrar Workspaces com UC habilitado
Todos os Workspaces de todas as regiões centralizados
Account Console - Tela de Catálogos
Metastore
Por região
Tentar criar um novo Metastore na mesma região
Root Storage Metastore vs External Location (Catalogo e Schema)
Segregação de storage
Dados de dev, prod tudo junto?
Limitação do Storage Account API?
Metadados?
Metastore Admin - Definir grupos
Criando um grupo e vincular no Metastore admin
Account Console - Tela de User Managment
Users vs Groups vs Service principals
Account admins vs Metastore Admins Workspace admins vs Group managers
AAD groups vs Account groups vs Workspace groups vs System groups
Sincronizando um grupo com mais de um workspace e adicionando um login (Identity Federation)
Replicação de logins automática do AAD (SCIM)
Habilitando o Unity Catalog
Mostrar a interface antes e após habilitar o Unity Catalog
Posso ter problemas ao habilitar o Unity Catalog?
Grupos locais vs Grupos Account
Alguma coisa pode parar de funcionar? Clusters, Jobs, pipelines?
External Locations e Storage Credential - Criando e organizando
Desenho prático
Storage Credential (Datbricks Connector/ManagedIdentity ou App Registration)
Não precisa mais de Cluster Scoped, tudo é validado a nível de External Location e Storage Credential
Quantas External Location criar?
Quando usar o Storage Metastore root?
Volumes, espaços temporário, ou mesmo centralização total dos dados?
Quem deve ter acesso na External Location?
Catálogos
Quantos criar?
Segregação por ambiente: DEV, HML, PROD, SANDBOX, etc.
Mostrar imagem de organização de catálogos e ambientes.
Mostrar imagem de hierarquia de Catálogos e Storage
Criando Catálogos com e sem location definido
Criando databases/schema com e sem caminho definido
Criar tabelas e Mostrar onde os arquivos serão criados
Onde ficam os metadados do Unity Catalog de verdade?
Metastore root não tem metadados, eles ficam no Control Plane
Os metadados de tabelas delta ficam no Transaction Log de cada tabela
Criando cluster com Unity Catalog habilitado
Quais os modos de clusters suportados?
Não precisa mais de Cluster Scoped, tudo é validado a nível de External Location e Storage Credential
Teste de acesso com outro login
Seguro por padrão?
Testando acessos via Notebook nas tabelas do UC
Testando acessos direto no Storage
Gestão de acessos nos Catálogos
Securables e Privileges
USE CATALOG
USE SCHEMA
SELECT, MODIFY, etc...
Não liberar acessos ao nível de Catálogo
Não liberar acessos nas external location para analistas
Precisa manipular arquivos? Liberar Volume
Workspace Binding - Limitando acesso de catalogos em Workspaces
External Locations binding
Substituindo o Mount por Volumes
Testar acesso no Mount com um cluster com UC
Criando Volumes ou External Location
Volumes facilitam a vida dos desenvolvedores
Usando para camadas temporárias, substituindo o DBFS e Mounts
Trabalhando em paralelo ao hive_metastore
Posso fazer Joins entre um Catálogo do UC e o hive_metastore?
Posso trabalhar com Unity Catalog e Table Access Control?
Como funciona o acesso ao Hive metastore num cluster com UC?
System Tables Unity Catalog
Centralizado ao nível de metastore
select * from system.information_schema.tables where table_catalog = 'hive_metastore'
Delta Sharing - Compartilhar dados entre metastore
Unity Catalog Best Practises – Doc
Fique bem e até a próxima.
Links de referência:
Mount vs Volumes:
Habilitando System Tables:
External table vs Managed Table:
Comments