Explorando as Lineage Tables do Unity Catalog no Databricks 🚀
As Lineage Tables do Unity Catalog são uma das funcionalidades mais aguardadas pelos engenheiros de dados e analistas que utilizam o Databricks como plataforma de análise e processamento. Neste artigo, exploraremos as recentes atualizações disponíveis no repositório oficial do Databricks Brasil no GitHub, abordando como essas melhorias impactam o gerenciamento e rastreamento de metadados em pipelines de dados.
O que são Lineage Tables? 🔍
Lineage Tables são estruturas que registram o fluxo de dados entre tabelas, visualizações e outros objetos em um ambiente de dados. Elas fornecem informações valiosas sobre:
- Origem e destino dos dados: permitindo entender de onde os dados vêm e para onde estão indo.
- Dependências: identificando quais tabelas ou processos podem ser afetados por alterações.
- Auditoria e conformidade: facilitando o rastreamento de alterações para fins de governança.
Com as Lineage Tables, você pode visualizar graficamente ou consultar diretamente a trajetória completa de um dado, desde sua origem até os relatórios ou dashboards finais.
Por que utilizar as Lineage Tables no Unity Catalog? 💡
O Unity Catalog é a solução de governança de dados do Databricks, e as Lineage Tables tornam essa solução ainda mais robusta. Entre os principais benefícios estão:
- Governança centralizada: Todas as informações de lineage são integradas ao Unity Catalog, garantindo uma gestão única e centralizada.
- Melhoria na colaboração: Times podem rastrear e documentar processos complexos com mais facilidade.
- Detecção de impactos: Ao planejar mudanças em pipelines, as Lineage Tables ajudam a prever quais partes do sistema serão afetadas.
Atualizações recentes 📦
As últimas atualizações disponíveis no repositório Databricks-BR introduziram:
- Novas integrações: Suporte para mais fontes e destinos de dados.
- Queries otimizadas: Melhorias no desempenho das consultas relacionadas às Lineage Tables.
- Documentação aprimorada: Incluindo exemplos práticos e casos de uso detalhados.
Essas melhorias facilitam a adoção da funcionalidade e aumentam sua eficiência operacional.
Queries útéis para Lineage Tables 🧑💻
Aqui estão algumas queries práticas para explorar os recursos das Lineage Tables:
1. Qual foi o comando SQL executado em uma tabela específica?
SELECT
l.source_table_full_name,
l.entity_type,
q.statement_text,
q.executed_by,
q.end_time
FROM system.access.table_lineage l
JOIN system.query.history q
ON l.entity_run_id = q.statement_id
WHERE source_table_full_name = '<nome_da_tabela>';
2. Quais são as tabelas menos acessadas nos últimos 90 dias?
WITH used_tables AS (
SELECT
source_table_catalog,
source_table_schema,
source_table_name,
COUNT(DISTINCT created_by) AS downstream_users,
COUNT(*) AS downstream_dependents
FROM system.access.table_lineage
WHERE event_time >= DATE_ADD(NOW(), -90)
GROUP BY source_table_catalog, source_table_schema, source_table_name
)
SELECT
t.table_catalog,
t.table_schema,
t.table_name,
t.table_type,
t.table_owner,
t.comment AS table_comment,
t.created AS table_created_at,
t.last_altered AS table_last_update_at
FROM system.information_schema.tables t
LEFT JOIN used_tables ut
ON ut.source_table_catalog = t.table_catalog
AND ut.source_table_schema = t.table_schema
AND ut.source_table_name = t.table_name
WHERE ut.downstream_dependents IS NULL;
3. Qual a linhagem de uma tabela específica?
SELECT DISTINCT target_table_full_name
FROM system.access.table_lineage
WHERE source_table_full_name = '<nome_da_tabela>';
4. Quem mais acessa uma tabela específica?
SELECT user_identity.email, COUNT(*) AS qnt_acessos
FROM system.access.audit
WHERE request_params.table_full_name = '<nome_da_tabela>'
GROUP BY user_identity.email
ORDER BY qnt_acessos DESC;
5. Quais são as tabelas mais populares (mais acessadas)?
SELECT
access_table,
COUNT(access_table) AS qtde_acesso
FROM (
SELECT COALESCE(request_params.full_name_arg, 'Non-specific') AS access_table
FROM system.access.audit
WHERE action_name = 'getTable'
)
WHERE access_table NOT LIKE '__databricks%'
GROUP BY access_table
ORDER BY qtde_acesso DESC
LIMIT 20;
Como começar? 🛠️
Para utilizar as Lineage Tables no Unity Catalog, siga estes passos:
- Habilite o Unity Catalog no seu workspace. Certifique-se de que o Unity Catalog está configurado corretamente no seu ambiente.
- Consulte a documentação oficial. Verifique os exemplos e casos de uso no GitHub do Databricks-BR.
- Teste em um ambiente controlado. Realize experimentos com pequenos volumes de dados antes de aplicar em produção.
Conclusão ✨
As Lineage Tables do Unity Catalog são uma ferramenta poderosa para gerenciar dados de maneira eficiente e segura no Databricks. Com as melhorias recentes, a funcionalidade está mais acessível e prática para engenheiros de dados e analistas. Explore o repositório do Databricks-BR no GitHub e comece a integrar essa funcionalidade em seus projetos!
Gostou do conteúdo? 💬 Compartilhe suas experiências com Lineage Tables nos comentários e conecte-se comigo no LinkedIn!
Top comments (0)