Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Data Lineage mostra de onde os dados no Azure Databricks vieram e para onde vão: que consultas e ficheiros preenchem uma tabela, que jobs e notebooks a transformam, e que dashboards consomem os resultados.
O Unity Catalog regista automaticamente a linhagem de dados das consultas executadas no Azure Databricks, até ao nível de coluna, e agrega-a em todas as áreas de trabalho ligadas à metastore. O Lineage no Catálogo Unity permite-lhe:
- Realize uma análise de impacto: Antes de alterar ou eliminar uma tabela ou coluna, identifique as tabelas, trabalhos e dashboards a jusante que dela dependem.
- Investigue as causas principais: Quando um relatório a jusante apresenta resultados inesperados, siga as fontes a montante para identificar onde os dados divergiram.
- Acompanhe o fluxo de dados sensíveis: Para auditorias de conformidade, veja de onde provêm os dados regulados, como são transformados e que ativos a jusante os consomem.
- Compreenda as dependências entre equipas: Descubra quais as equipas que possuem as fontes a montante em que confia, ou que equipas consomem as suas tabelas.
A linhagem externa (Pré-visualização Pública) expande o grafo de linhagem para além do Azure Databricks. Regista fontes a montante como Salesforce ou MySQL e ferramentas a jusante como Tableau ou Power BI como ativos externos no Catálogo Unity, e elas aparecem ao lado das tabelas do Catálogo Unity num único gráfico. Consulte Traga sua própria linhagem de dados.
A imagem a seguir é um gráfico de linhagem de exemplo. Os nós podem representar tabelas e vistas, versões de modelos de ML, ativos externos e caminhos de ficheiros.
Requisitos
Para capturar linhagem de dados usando o Unity Catalog:
- As tabelas devem ser registradas em um metastore do Catálogo Unity.
- Os ativos externos (aqueles não registrados no metastore do Unity Catalog) devem ser adicionados como objetos de metadados externos no Unity Catalog, configurados para ter relações com outros objetos protegíveis registrados no metastore do Unity Catalog. Consulte Traga sua própria linhagem de dados.
- As consultas devem usar o Spark DataFrame (por exemplo, funções do Spark SQL que retornam um DataFrame) ou interfaces Databricks SQL, como blocos de anotações ou o editor de consultas SQL.
Para visualizar a linhagem de dados:
- Você deve ter pelo menos o privilégio
BROWSEno catálogo pai da tabela ou vista. O catálogo pai também deve estar acessível desde o espaço de trabalho. Ver Encadernação de catálogo de espaço de trabalho. - Para blocos de anotações, trabalhos ou painéis, você deve ter permissões nesses objetos, conforme definido pelas configurações de controle de acesso no espaço de trabalho. Para obter detalhes, consulte Permissões.
- Para um pipeline habilitado para Unity Catalog, você deve ter a permissão CAN VIEW no pipeline.
Requisitos de computação:
- O rastreamento de linhagem de streaming entre tabelas Delta requer o Databricks Runtime 11.3 LTS ou superior.
- O rastreamento de linhagem de colunas para cargas de trabalho do Lakeflow Spark Declarative Pipelines requer o Databricks Runtime 13.3 LTS ou posterior.
Requisitos de rede:
- Pode ser necessário atualizar as regras do firewall de saída para permitir a conectividade ao endpoint dos Event Hubs no plano de controlo do Azure Databricks. Normalmente, isto aplica-se se o seu espaço de trabalho Azure Databricks estiver implementado no seu próprio VNet (também conhecido como injeção de VNet). Para obter o ponto de extremidade dos Hubs de Eventos para a sua região de espaço de trabalho, consulte Metastore, armazenamento Blob para artefatos, armazenamento Blob para tabelas do sistema, armazenamento Blob para logs e endereços IP dos Hubs de Eventos. Para informações sobre a configuração de rotas definidas pelo utilizador (UDR) para Azure Databricks, consulte Definições de rotas definidas pelo utilizador para Azure Databricks.
Ver linhagem no Explorador de Catálogos
Para usar o Catalog Explorer para exibir a linhagem da tabela:
No seu espaço de trabalho Azure Databricks, clique em
Catalog.
Pesquise ou procure a sua tabela.
Selecione a guia Linhagem . O painel de linhagem aparece e exibe tabelas relacionadas.
Para exibir um gráfico interativo da linhagem de dados, clique em Ver gráfico de linhagem.
Por padrão, um nível é exibido no gráfico. Clique no ícone
num nó para revelar mais conexões, se estiverem disponíveis.Clique no ícone numa aresta de ligação no gráfico de linhagem para abrir o painel de detalhes da linhagem .
O painel Detalhes da linhagem mostra detalhes sobre a conexão, incluindo tabelas de origem e de destino.
Para visualizar um ativo associado a uma tabela, selecione o ativo no painel de detalhes de Linhagem . Pode filtrar por blocos de notas, trabalhos, pipelines e consultas.
Para exibir a linhagem em nível de coluna, clique em uma coluna no gráfico para mostrar links para colunas relacionadas. Por exemplo, clicando na
revenuecoluna deste gráfico de exemplo mostra as colunas a montante das quais a coluna foi derivada:
Ver linhagem de trabalho
Para ver a linhagem do trabalho, vá para a guia Linhagem de uma tabela, selecione Trabalhos e selecione Downstream. O nome do trabalho aparece em Nome do trabalho como um consumidor da tabela.
Visualizar linhagem do painel de controlo
Para visualizar a linhagem do painel, vá para a guia Linhagem de uma tabela e clique em Painéis. O painel aparece em Nome do painel como um consumidor da tabela.
Obtenha a linhagem usando o Código Génio
O Código Génio pode responder a perguntas de linhagem em linguagem natural.
Para obter informações sobre a linhagem usando o Código Génio:
- Na barra lateral do espaço de trabalho, clique no
Catálogo.
- Navegue ou pesquise o catálogo, clique no nome do catálogo e depois clique no
Ícone do Código Génio no canto superior direito.
- No prompt do Código Génio, escreva:
-
/getTableLineagespara visualizar dependências a montante e a jusante. -
/getTableInsightspara aceder a insights orientados por metadados, como atividade do utilizador e padrões de consulta.
-
Estas consultas permitem que o Genie Code responda a perguntas como "mostra-me as lineagens descendentes" ou "quem consulta esta tabela com mais frequência."
Consulta de linhagem com tabelas do sistema
Você pode usar as tabelas do sistema de linhagem para consultar programaticamente dados de linhagem. Para instruções detalhadas, consulte a referência das tabelas do sistema e a referência das tabelas do sistema de linhagem.
Permissions
Os gráficos de linhagem partilham o mesmo modelo de permissão que o Unity Catalog. As tabelas e outros objetos de dados registrados no metastore do Unity Catalog são visíveis apenas para usuários que têm pelo menos BROWSE permissões nesses objetos. Se um usuário não tiver o privilégio de BROWSE ou SELECT em uma tabela, ele não poderá explorar sua linhagem.
A linhagem está agregada em todos os espaços de trabalho ligados a uma metastore do Unity Catalog, pelo que a linhagem capturada num espaço de trabalho é visível em qualquer outro espaço que partilhe essa metastore, desde que o utilizador tenha permissões adequadas para os objetos. Informação detalhada sobre objetos ao nível do espaço de trabalho, como cadernos e painéis de controlo noutros espaços de trabalho, é mascarada. Consulte Limitações.
Por exemplo, execute os seguintes comandos para userA:
GRANT USE SCHEMA on lineage_data.lineagedemo to `userA@company.com`;
GRANT SELECT on lineage_data.lineagedemo.menu to `userA@company.com`;
Quando userA visualizam o gráfico de linhagem da lineage_data.lineagedemo.menu tabela, veem a menu tabela. Não conseguem ver informação sobre tabelas associadas, como a tabela a jusante lineage_data.lineagedemo.dinner . A tabela dinner aparece como um nó masked para userA, e userA não pode expandir o grafo para revelar as tabelas a jusante de tabelas a que não pode aceder.
Se você executar o seguinte comando para conceder a BROWSE permissão ao userB, esse usuário poderá exibir o gráfico de linhagem de qualquer tabela no lineage_data esquema:
GRANT BROWSE on lineage_data to `userB@company.com`;
Os utilizadores do Lineage também devem ter permissões específicas para visualizar objetos de espaço de trabalho, como cadernos, trabalhos e dashboards. Informação detalhada sobre estes objetos é visível apenas no espaço de trabalho onde foram criados.
Para obter mais informações sobre como gerenciar o acesso a objetos protegíveis no Unity Catalog, consulte Manage privileges in Unity Catalog. Para obter mais informações sobre como gerenciar o acesso a objetos de espaço de trabalho, como blocos de anotações, trabalhos e painéis, consulte Listas de controle de acesso.
Retention
Os dados de linhagem exibidos no Explorador de Catálogos são mantidos indefinidamente. Todos os dados de linhagem recolhidos após 1 de setembro de 2024 estão disponíveis. Para metastores criadas após essa data, o Catalog Explorer inclui a opção Todo o tempo na lista pendente do intervalo de tempo da linhagem. Para metastores mais antigas, o menu suspenso inclui uma opção Tudo disponível que começa a partir de 1 de setembro de 2024. A escolha padrão é de 1 ano.
As tabelas do sistema de linhagem (system.access.table_lineage e system.access.column_lineage) mantêm uma janela móvel de dados de 1 ano.
Consulte a referência das tabelas do sistema de linhagem.
Limitações
A linhagem de dados tem as seguintes limitações. Estas limitações também se aplicam às tabelas do sistema de linhagem:
- Os dados de linhagem recolhidos antes de 1 de setembro de 2024 não estão disponíveis.
- Os trabalhos que usam a solicitação da API
runs submitde Trabalhos ou o tipo despark submittarefa não estão disponíveis nas exibições de linhagem. A linhagem em nível de tabela e coluna ainda é capturada para esses fluxos de trabalho, mas o link para a execução do trabalho não é capturado. - A linhagem não é preservada para catálogos, esquemas, tabelas, vistas ou colunas renomeadas.
- Se usar o ponto de verificação do conjunto de dados Spark SQL, a linhagem não será capturada.
- O Unity Catalog capta a linhagem dos Lakeflow Spark Declarative Pipelines na maioria dos casos, mas a cobertura é incompleta para pipelines que utilizam tabelas PRIVADAS.
- Os conjuntos de dados distribuídos resilientes (RDDs) não são registrados na linhagem.
- As visualizações globais de temperatura não são capturadas na linhagem.
- As transações emitem linhagem à medida que ocorre cada leitura e escrita. Os eventos de linhagem persistem mesmo que a transação seja revertida.
- As tabelas sob
system.information_schemanão são capturadas na linhagem. - Unity Catalog captura a linhagem ao nível da coluna sempre que possível. No entanto, há alguns casos em que a linhagem em nível de coluna não pode ser capturada. Estas incluem:
A linhagem de coluna não pode ser capturada se a origem ou o destino for referenciado como caminho (Exemplo:
select * from delta."s3://<bucket>/<path>"). A linhagem de coluna é suportada somente quando a origem e o destino são referenciados pelo nome da tabela (Exemplo:select * from <catalog>.<schema>.<table>).Uso de funções definidas pelo usuário (UDFs), que podem obscurecer o mapeamento entre as colunas de origem e de destino.
Recursos adicionais
- Demo: Catálogo Unity - Linhagem de Dados
- Linhagem de modelos de ML: Para acompanhar a linhagem de um modelo de aprendizagem automática, veja Seguir a linhagem de dados de um modelo no Unity Catalog.
- Informações da tabela: O separador Insights no Catalog Explorer mostra tendências de utilização de uma tabela: padrões de consulta, principais utilizadores e painéis que a utilizam. Consulte Consultas e utilizadores frequentes numa tabela.