Linhagem externa
O Unity Catalog captura automaticamente a linhagem de dados em tempo de execução em consultas executadas no Databricks. No entanto, pode haver cargas de trabalho que são executadas fora do Databricks (por exemplo, ETL de primeira milha ou BI de última milha). O Unity Catalog permite adicionar metadados de linhagem externa para aumentar a linhagem de dados do Databricks capturada automaticamente, fornecendo uma view de linhagem de ponta a ponta no Unity Catalog. Isto é útil quando se deseja capturar a origem dos dados (por exemplo, Salesforce ou MySQL) antes de serem ingeridos no Unity Catalog ou onde os dados são consumidos fora do Unity Catalog (por exemplo, Tableau ou Power BI).
É possível adicionar linhagem externa de duas maneiras:
- Manualmente, usando a interface do usuário do Catalog Explorer, as APIs de Metadados Externos e Linhagem Externa, ou o Databricks SDK para Python.
- Automaticamente, usando pipelines de ingestão gerenciados do LakeFlow Connect, que registram a linhagem da origem de suas tabelas de origem para as tabelas de destino no Unity Catalog. Consulte Acompanhamento da linhagem de dados de origem para pipelines de ingestão gerenciados.
O gráfico de linhagem a seguir mostra duas tabelas externas em MySQL e PostgreSQL que foram ingeridas no Databricks como uma tabela gerenciada do Unity Catalog, com colunas transformadas em uma coluna release_date, e depois consumidas por um relatório externo.

Para informações gerais sobre linhagem de dados no Databricks, consulte Linhagem de dados no Unity Catalog.
Requisitos
Para adicionar metadados de linhagem externa no Unity Catalog, o senhor deve ter os seguintes privilégios, dependendo da tarefa específica:
- Para criar um objeto protegível de metadados externo no Unity Catalog, é preciso ter o privilégio
CREATE EXTERNAL METADATAno metastore. - Para especificar relacionamentos de linhagem entre um objeto de metadados externo e qualquer outro objeto do Unity Catalog, o senhor deve ter o privilégio
MODIFYno objeto de metadados externo. - Para especificar um relacionamento de linhagem downstream para um objeto do Unity Catalog, o senhor deve ter privilégios de leitura no objeto (por exemplo,
SELECTem uma tabela). - Para especificar uma relação de linhagem upstream para um objeto do Unity Catalog, o senhor deve ter privilégios de gravação no objeto (por exemplo,
MODIFYem uma tabela).
Adicionar metadados de linhagem externos
Para adicionar metadados de linhagem externa:
-
Criar um objeto protegível de metadados externo no Unity Catalog.
Esse objeto representa uma entidade em um sistema externo, como um painel no Tableau.
-
Configure um relacionamento de linhagem entre o objeto de metadados externo e outro objeto do Unity Catalog, como uma tabela, um modelo, um caminho ou outro objeto de metadados externo.
Quando o senhor tiver criado relacionamentos de linhagem, o objeto de metadados externos aparecerá no gráfico de linhagem view.
É possível criar objetos de metadados externos e configurar relações de linhagem usando a UI do Catalog Explorer. Para começar de um gráfico de linhagem existente, clique em Criar linhagem externa no canto superior direito do gráfico. Você também pode começar a partir da seção Dados externos no Catalog Explorer, conforme descrito nas seções a seguir.
Criar um objeto de metadados externo
É possível criar um objeto de metadados externo utilizando o Catalog Explorer ou a API de metadados externos.
Para usar o Catalog Explorer para criar um objeto de metadados externo:
-
Em seu site Databricks workspace, clique em
Catalog .
-
Clique no botão Dados externos > , acesse a tab Metadados externos e clique em Criar metadados externos .
-
Especifique os detalhes dos metadados.
Obrigatório:
- Nome : Insira um nome legível por humanos que ajude os usuários do Databricks a entender o que está sendo visualizado na linhagem. Não é possível usar espaços.
- Tipo de sistema : Selecione na lista de dados externos comuns e sistemas de BI. Se você não encontrar o seu, selecione Personalizado .
- Tipo de entidade : insira o tipo de objeto, como " table " ou " dashboard. "
Opcional:
- URL : Digite o URL do objeto se quiser que os visualizadores do gráfico de linhagem possam clicar no ativo externo (como um painel do Tableau, por exemplo).
- Descrição
Avançado:
- Columns (Colunas ): Se o senhor quiser fazer o mapeamento em nível de coluna desse objeto externo para outro objeto do Unity Catalog, insira os nomes das colunas. Selecione UI para inseri-las uma de cada vez ou Entrada de texto para inserir uma lista delimitada por vírgula em uma única caixa de texto.
- Propriedades : Se houver outras propriedades que o senhor deseja rastrear na linhagem, insira-as como JSON par key-value. O senhor pode usar a UI para inserir cada par key-valor ou inserir um objeto completo. JSON objeto completo.
-
Clique em Criar .
Uma caixa de diálogo oferece ao senhor a opção de view o objeto de metadados externo ou de criar relacionamentos de linhagem para o objeto.
Crie relacionamentos de linhagem
É possível criar relações de linhagem utilizando o Catalog Explorer, a API de linhagem externa ou o SDK do Databricks para Python.
Para adicionar relacionamentos entre um objeto de metadados externo e outros objetos do Unity Catalog:
-
Siga o prompt mencionado acima ou localize o objeto de metadados externos existente no Catalog Explorer:
- Clique em
Catálogo
- Clique no botão Dados externos >
- Vá para External Metadata (Metadados externos ) tab e selecione o objeto de metadados externos.
- Clique em
-
Clique em Criar relacionamento de linhagem .
-
Selecione se você deseja criar um relacionamento upstream ou downstream.
-
Insira o tipo de objeto com o qual você deseja criar a relação:
- Tabela : Selecione a tabela usando a caixa de diálogo de pesquisa.
- Modelo : selecione o modelo usando a caixa de diálogo de pesquisa e, em seguida, selecione a versão do modelo.
- Caminho : para volumes ou locais externos, insira o caminho.
- Metadados externos : selecione o objeto de metadados externos no menu suspenso.
-
(Opcional) Clique em Avançado para adicionar:
- Mapeamentos de colunas entre o objeto de metadados externo e o objeto de origem ou de destino.
- Outros metadados como JSON par key-value. Por exemplo, o senhor pode usá-las para inserir o texto da consulta que criou uma tabela a partir do objeto de metadados externo ou da anotação que explica o fluxo de trabalho externo que gerou o relacionamento.
-
Clique em Criar .
Agora você pode visualizar a relação de linhagem externa na tab Linhagem dos objetos relacionados.
Modelar relacionamentos de linhagem externa
Ao adicionar linhagem externa manualmente, utilize os seguintes padrões para modelar relações mais complexas:
- Conectar duas tabelas do Unity Catalog : Para especificar um relacionamento de linhagem entre duas tabelas que estão ambas registradas no Unity Catalog, crie um objeto de metadados externo que esteja entre elas. Especifique uma tabela como upstream para o objeto de metadados externo e a outra como downstream para que elas apareçam conectadas no gráfico de linhagem.
- Adicione vários níveis de linhagem : para anotar dados que passam por vários sistemas antes de entrarem no Databricks, crie vários objetos de metadados externos e configure relacionamentos de linhagem externa entre cada um deles.
- Adicionar linhagem de coluna : especifique nomes de coluna ao criar o objeto de metadados externo e, em seguida, mapeie as colunas de origem e as colunas de destino ao configurar o relacionamento de linhagem.
Limitações
- A linhagem externa não é registrada nas tabelas do sistema de linhagem (
system.access.table_lineageesystem.access.column_lineage). - É possível criar até 10.000 objetos de metadados externos e 100.000 relações de linhagem externas por metastore. Consulte Limites de recurso.