Delen via


Verwijzing naar afstammingssysteemtabellen

Deze pagina bevat een verwijzing voor de twee herkomstsysteemtabellen. Deze systeemtabellen zijn gebaseerd op de gegevensherkomstfunctie van Unity Catalog, zodat u programmatisch query's kunt uitvoeren op herkomstgegevens om beslissingen en rapporten te maken. Voor toegang tot de tabellen moeten de schema's zijn ingeschakeld in uw system catalogus. Zie Systeemtabellen inschakelen voor meer informatie.

Note

Beide herkomsttabellen vertegenwoordigen een subset van alle lees-/schrijf-gebeurtenissen, omdat het niet altijd mogelijk is om herkomst vast te leggen. Records worden alleen verzonden wanneer herkomst kan worden afgeleid. De beperkingen voor gegevensherkomst die worden beschreven in Herkomstbeperkingen zijn ook van toepassing op gegevensherkomstsysteemtabellen.

Afstammingtabeloverzicht

De systeemtabel voor tabelafstamming bevat een record voor elke lees- of schrijfbewerking in een Unity Catalog-tabel of -pad. Dit omvat, maar is niet beperkt tot, taakuitvoeringen, notebookuitvoeringen en dashboards die zijn bijgewerkt met het lees- of schrijfevenement.

Tabelpad: Deze systeemtabel bevindt zich op system.access.table_lineage.

tabelherkomstschema

De tabel van het tabelherkomstsysteem maakt gebruik van het volgende schema.

Kolomnaam Gegevenstype Description Example
account_id string De id van het Azure Databricks-account. 7af234db-66d7-4db3-bbf0-956098224879
metastore_id string De id van de Unity Catalog-metastore. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
workspace_id string De ID van de werkruimte 123456789012345
entity_type string Het type entiteit dat is gekoppeld aan de herkomstrecord, indien van toepassing. De waarde is NOTEBOOK, JOB, , PIPELINE, , DASHBOARD_V3( DBSQL_DASHBOARD verouderd dashboard) DBSQL_QUERYof NULL.
Opmerking: zie entity_metadata de kolom voor informatie over alle entiteiten die betrokken zijn bij de herkomstrecord.
JOB
entity_id string De id van de entiteit die is gekoppeld aan de herkomstrecord of NULL.
Opmerking: zie entity_metadata de kolom voor informatie over alle entiteiten die betrokken zijn bij de herkomstrecord.
417306252667357
entity_run_id string De unieke uitvoerings-id van de entiteit die is gekoppeld aan de herkomstrecord of NULL.
Opmerking: zie entity_metadata de kolom voor informatie over alle entiteiten die betrokken zijn bij de herkomstrecord.
688612062233399
source_table_full_name string Driedelige naam om de brontabel te identificeren. catalog.schema.table
source_table_catalog string De catalogus van de brontabel. catalog
source_table_schema string Het schema van de brontabel. schema
source_table_name string De naam van de brontabel. table
source_path string Locatie in cloudopslag van de brontabel of het pad als deze rechtstreeks vanuit de cloudopslag wordt gelezen. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
source_type string Het type bron. De waarde is TABLE, PATH, VIEW, MATERIALIZED_VIEW, METRIC_VIEW, of STREAMING_TABLE. TABLE
target_table_full_name string Driedelige naam om de doeltabel te identificeren. catalog.schema.table
target_table_catalog string De catalogus van de doeltabel. catalog
target_table_schema string Het schema van de doeltabel. schema
target_table_name string De naam van de doeltabel. table
target_path string Locatie in de cloudopslaglocatie van de doeltabel. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
target_type string Het type van het doel. De waarde is TABLE, PATH, VIEW, MATERIALIZED_VIEW, METRIC_VIEW, of STREAMING_TABLE. TABLE
created_by string De gebruiker die deze lijn heeft gegenereerd. Dit kan een Azure Databricks-gebruikersnaam, een Azure Databricks-service-principal-id, 'Systeemgebruiker' of NULL als de gebruikersgegevens niet kunnen worden vastgelegd. crampton.rods@email.com
event_time timestamp De tijdstempel waarop de herkomst is gegenereerd. Tijdzone-informatie wordt aan het einde van de waarde vastgelegd, waarbij +00:00 UTC vertegenwoordigt. 2025-04-20T19:47:21.194+00:00
event_date date De datum waarop de herkomst is gegenereerd. Dit is een gepartitioneerde kolom. 2025-04-20
record_id string De unieke ID van het afstammingsrecord. Deze waarde wordt automatisch gegenereerd en kan niet worden samengevoegd met tabellen. 3c5c8eed-87bb-3aa6-8a86-80d00d48299e
event_id string De unieke ID voor een enkele afstammingsgebeurtenis. Meerdere rijen kunnen hetzelfde event_id delen als ze zijn gegenereerd door dezelfde gebeurtenis. Deze waarde wordt automatisch gegenereerd en kan niet worden samengevoegd met tabellen. ca123ff3-f3f8-332b-a832-0154a6327353
statement_id string De unieke ID van een query-opdracht die de lijnagegebeurtenis heeft gegenereerd. Dit is een vreemde sleutel om te koppelen aan de systeemtabel van querygeschiedenis. Deze waarde wordt alleen ingesteld wanneer de query wordt uitgevoerd vanuit een SQL-warehouse. 1234526f-a6ac-475c-8601-e8637f8ee039
entity_metadata struct Metagegevens over de entiteit die verantwoordelijk is voor de herkomst gebeurtenis. Entiteitsmetagegevens bekijken

Tabel voor kolomherkomst

De kolomherkomsttabel bevat geen gebeurtenissen die geen bron hebben. Als u bijvoorbeeld invoegt in een kolom met expliciete waarden, wordt deze niet vastgelegd. Als u een kolom leest, wordt deze vastgelegd, ongeacht of u de uitvoer schrijft.

Tabelpad: Deze systeemtabel bevindt zich op system.access.column_lineage.

kolomafstammingsschema

De tabel van het kolomherkomstsysteem maakt gebruik van het volgende schema:

Kolomnaam Gegevenstype Description Example
account_id string De id van het Azure Databricks-account. 7af234db-66d7-4db3-bbf0-956098224879
metastore_id string De id van de Unity Catalog-metastore. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
workspace_id string De ID van de werkruimte 123456789012345
entity_type string Het type entiteit dat is gekoppeld aan de herkomstrecord, indien van toepassing. De waarde is NOTEBOOK, JOB, , PIPELINE, , DASHBOARD_V3( DBSQL_DASHBOARD verouderd dashboard) DBSQL_QUERYof NULL.
Opmerking: zie entity_metadata de kolom voor informatie over alle entiteiten die betrokken zijn bij de herkomstrecord.
JOB
entity_id string De id van de entiteit die is gekoppeld aan de herkomstrecord of NULL.
Opmerking: zie entity_metadata de kolom voor informatie over alle entiteiten die betrokken zijn bij de herkomstrecord.
417306252667357
entity_run_id string De unieke uitvoerings-id van de entiteit die is gekoppeld aan de herkomstrecord of NULL.
Opmerking: zie entity_metadata de kolom voor informatie over alle entiteiten die betrokken zijn bij de herkomstrecord.
688612062233399
source_table_full_name string Driedelige naam om de brontabel te identificeren. catalog.schema.table
source_table_catalog string De catalogus van de brontabel. catalog
source_table_schema string Het schema van de brontabel. schema
source_table_name string De naam van de brontabel. table
source_path string Locatie in cloudopslag van de brontabel of het pad als deze rechtstreeks vanuit de cloudopslag wordt gelezen. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
source_type string Het type bron. De waarde is TABLE, PATH, VIEW, MATERIALIZED_VIEW, METRIC_VIEW, of STREAMING_TABLE. TABLE
source_column_name string De naam van de bronkolom. date
target_table_full_name string Driedelige naam om de doeltabel te identificeren. catalog.schema.table
target_table_catalog string De catalogus van de doeltabel. catalog
target_table_schema string Het schema van de doeltabel. schema
target_table_name string De naam van de doeltabel. table
target_path string Locatie in de cloudopslaglocatie van de doeltabel. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
target_type string Het type van het doel. De waarde is TABLE, PATH, VIEW, MATERIALIZED_VIEW, METRIC_VIEW, of STREAMING_TABLE. TABLE
target_column_name string De naam van de kolom die als doel is bedoeld. date
created_by string De gebruiker die deze lijn heeft gegenereerd. Dit kan een Azure Databricks-gebruikersnaam, een Azure Databricks-service-principal-id, 'Systeemgebruiker' of NULL als de gebruikersgegevens niet kunnen worden vastgelegd. crampton.rods@email.com
event_time timestamp De tijdstempel waarop de herkomst is gegenereerd. Tijdzone-informatie wordt aan het einde van de waarde vastgelegd, waarbij +00:00 UTC vertegenwoordigt. 2025-04-20T19:47:21.194+00:00
event_date date De datum waarop de herkomst is gegenereerd. Dit is een gepartitioneerde kolom. 2025-04-20
record_id string De unieke ID van het afstammingsrecord. Deze waarde wordt automatisch gegenereerd en kan niet worden samengevoegd met tabellen. 3c5c8eed-87bb-3aa6-8a86-80d00d48299e
event_id string De unieke ID voor een enkele afstammingsgebeurtenis. Meerdere rijen kunnen hetzelfde event_id delen als ze zijn gegenereerd door dezelfde gebeurtenis. Deze waarde wordt automatisch gegenereerd en kan niet worden samengevoegd met tabellen. ca123ff3-f3f8-332b-a832-0154a6327353
statement_id string De unieke ID van een query-opdracht die de lijnagegebeurtenis heeft gegenereerd. Dit is een vreemde sleutel om te koppelen aan de systeemtabel van querygeschiedenis. Deze waarde wordt alleen ingesteld wanneer de query wordt uitgevoerd vanuit een SQL-warehouse. 1234526f-a6ac-475c-8601-e8637f8ee039
entity_metadata struct Metagegevens over de entiteit die verantwoordelijk is voor de herkomst gebeurtenis. Entiteitsmetagegevens bekijken

Systeemtabellen voor afstammingsinformatie lezen

  • Als u wilt bepalen of de gebeurtenis een lees- of schrijfbewerking is, kunt u het brontype en het doeltype bekijken.
    • Alleen-lezen: het brontype is niet nul, maar het doeltype is nul.
    • Alleen-schrijven: Het doeltype is niet nul, maar het brontype is nul.
    • Lezen en schrijven: het brontype en het doeltype zijn niet null.

Naslaginformatie over entiteitsmetagegevens

De entity_metadata struct heeft het volgende schema:

job_info:
  job_id: "string"
  job_run_id: "string"
dashboard_id: "string"
legacy_dashboard_id: "string"
notebook_id: "string"
sql_query_id: "string"
dlt_pipeline_info:
  dlt_pipeline_id: "string"
  dlt_update_id: "string"

Azure Databricks registreert afstammingsgebeurtenissen uit Lakeflow Spark Declarative Pipelines, notebooks, taken, Databricks SQL-query's en dashboards. Gebeurtenissen van andere entiteiten worden niet ondersteund.

Er kunnen meerdere waarden worden ingevuld, afhankelijk van het gebeurtenistype. Een notebooktaak zou bijvoorbeeld zowel job_info als notebook_id vullen.

Als alle waarden entity_metadata zich bevinden null, betekent dit dat er geen Azure Databricks-entiteit betrokken is bij de gebeurtenis. Dit kan bijvoorbeeld het resultaat zijn van een JDBC-query of van een gebruiker die op het tabblad Voorbeeldgegevens klikt in de gebruikersinterface van Azure Databricks.

Voorbeeld van een lijnsysteemtabel

Als voorbeeld van hoe herkomst wordt vastgelegd in systeemtabellen, volgt hier een voorbeeldquery gevolgd door de herkomstrecords die door de query worden gemaakt:

CREATE OR REPLACE TABLE car_features
AS SELECT *,  in1+in2 as premium_feature_set
FROM car_features_exterior
JOIN car_features_interior
USING(id, model);

De record in system.access.table_lineage ziet er als volgt uit:

entity_type entity_id source_table_name target_table_name created_by event_time
NOTEBOOK 27080565267 car_features_exterior car_features crampton@email.com 2023-01-25T16:19:58.908+0000
NOTEBOOK 27080565267 car_features_interior car_features crampton@email.com 2023-01-25T16:19:58.908+0000

De record in system.access.column_lineage ziet er als volgt uit:

entity_type entity_id source_table_name target_table_name source_column_name target_column_name event_time
NOTEBOOK 27080565267 car_features_interior car_features in1 premium_feature_set 2023-01-25T16:19:58.908+0000
NOTEBOOK 27080565267 car_features_interior car_features in2 premium_feature_set 2023-01-25T16:19:58.908+0000

Note

Niet alle herkomstkolommen zijn weergegeven in het bovenstaande voorbeeld. Voor het volledige schema, zie het bovenstaande herkomstschema.

Het oplossen van problemen met externe tabelquery's

Wanneer u naar een externe tabel verwijst met behulp van het cloudopslagpad, bevat de bijbehorende herkomstrecord alleen de padnaam en niet de tabelnaam. De herkomstrecord voor deze query bevat bijvoorbeeld de padnaam en niet de tabelnaam:

SELECT * FROM delta.`abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1`;

Als u een query wilt uitvoeren op herkomstrecords voor een externe tabel waarmee wordt verwezen via een pad, moet u de query filteren met source_path of target_path in plaats van source_table_full_name of target_table_full_name. Met de volgende query worden bijvoorbeeld alle herkomstrecords voor een externe tabel opgehaald:

SELECT *
FROM system.access.table_lineage
WHERE
  source_path = "abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1" OR
  target_path = "abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1";

Herkomstrecords ophalen op basis van de naam van de externe tabel

Als u het cloudopslagpad niet handmatig wilt ophalen om herkomst te vinden, kunt u de volgende functie gebruiken om herkomstgegevens op te halen met behulp van de tabelnaam. U kunt ook system.access.table_lineage vervangen door system.access.column_lineage in de functie als u gegevens wilt opvragen over kolomafstamming.

def getLineageForTable(table_name):
  table_path = spark.sql(f"describe detail {table_name}").select("location").head()[0]

  df = spark.read.table("system.access.table_lineage")
  return df.where(
    (df.source_table_full_name == table_name)
    | (df.target_table_full_name == table_name)
    | (df.source_path == table_path)
    | (df.target_path == table_path)
  )

Gebruik vervolgens de volgende opdracht om de functie aan te roepen en herkomstrecords voor de externe tabel weer te geven:

display(getLineageForTable("table_name"))