Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka obsahuje odkaz na dvě systémové tabulky rodokmenu. Tyto systémové tabulky vycházejí z funkce datové linie v Unity Catalog, která umožňuje programově dotazovat údaje o linii, abyste mohli využívat rozhodování a tvorbu sestav. Aby bylo možné přistupovat k tabulkám, musí být schémata povolená v system katalogu. Další informace naleznete v tématu Povolení systémových tabulek.
Note
Obě tabulky rodokmenu představují podmnožinu všech událostí čtení a zápisu, protože není vždy možné zachytit rodokmen. Záznamy se generují pouze v případech, kdy je možné odvodit rodokmen. Omezení rodokmenu dat popsaná v omezeních platí také pro systémové tabulky rodokmenu.
Uchovávání dat
Systémové tabulky rodokmenu uchovávají 1letý interval dat. Události starší než jeden rok se postupně odeberou. Pro historii rodokmenu nad rámec jednoho roku použijte Průzkumníka katalogu nebo rozhraní API rodokmenu, které po 1. září 2024 trvale zachovávají rodokmen.
Tabulka s rodokmenem datových tabulek
Systémová tabulka původu tabulky obsahuje záznam pro každou událost čtení nebo zápisu na tabulce nebo cestě katalogu Unity. To zahrnuje mimo jiné spuštění úloh, spuštění poznámkového bloku a řídicí panely aktualizované událostí čtení nebo zápisu.
Cesta k tabulce: Tato systémová tabulka se nachází na system.access.table_lineageadrese .
schéma rodokmenu tabulky
Tabulka liniového systému používá následující schéma.
| Název sloupce | Datový typ | Description | Example |
|---|---|---|---|
account_id |
řetězec | ID účtu Azure Databricks. | 7af234db-66d7-4db3-bbf0-956098224879 |
metastore_id |
řetězec | ID metastoru katalogu Unity. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
workspace_id |
řetězec | ID pracovního prostoru | 123456789012345 |
entity_type |
řetězec | Typ entity přidružené k záznamu rodokmenu( pokud existuje). Hodnota je NOTEBOOK, , JOB, PIPELINE, DASHBOARD_V3DBSQL_DASHBOARD (zastaralé), DBSQL_QUERYnebo NULL.Poznámka: Informace o všech entitách zahrnutých v záznamu rodokmenu najdete entity_metadata ve sloupci. |
JOB |
entity_id |
řetězec | ID entity přidružené k záznamu rodokmenu nebo NULL. Poznámka: Informace o všech entitách zahrnutých v záznamu rodokmenu najdete entity_metadata ve sloupci. |
417306252667357 |
entity_run_id |
řetězec | Jedinečné ID spuštění entity přidružené k záznamu rodokmenu nebo NULL. Poznámka: Informace o všech entitách zahrnutých v záznamu rodokmenu najdete entity_metadata ve sloupci. |
688612062233399 |
source_table_full_name |
řetězec | Název tří částí pro identifikaci zdrojové tabulky | catalog.schema.table |
source_table_catalog |
řetězec | Katalog zdrojové tabulky. | catalog |
source_table_schema |
řetězec | Schéma zdrojové tabulky | schema |
source_table_name |
řetězec | Název zdrojové tabulky. | table |
source_path |
řetězec | Umístění v cloudovém úložišti zdrojové tabulky nebo cesta, pokud se čte přímo z cloudového úložiště. | abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1 |
source_type |
řetězec | Typ zdroje. Hodnota je TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEWnebo STREAMING_TABLE. |
TABLE |
target_table_full_name |
řetězec | Třídílný název k identifikaci cílové tabulky | catalog.schema.table |
target_table_catalog |
řetězec | Katalog cílové tabulky. | catalog |
target_table_schema |
řetězec | Schéma cílové tabulky | schema |
target_table_name |
řetězec | Název cílové tabulky. | table |
target_path |
řetězec | Umístění v cloudovém úložišti cílové tabulky | abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1 |
target_type |
řetězec | Typ cíle. Hodnota je TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEWnebo STREAMING_TABLE. |
TABLE |
created_by |
řetězec | Uživatel, který tento rodokmen vygeneroval. Může to být Azure Databricks uživatelské jméno, ID instančního objektu Azure Databricks, název skupiny Azure Databricks, system-user nebo NULL, pokud informace o uživateli nelze zachytit. |
crampton.rods@email.com |
event_time |
časové razítko | Časové razítko při vygenerování rodokmenu. Informace o časovém pásmu se zaznamenávají na konci hodnoty, kde +00:00 označuje UTC. |
2025-04-20T19:47:21.194+00:00 |
event_date |
date | Datum vygenerování rodokmenu. Jedná se o dělený sloupec. | 2025-04-20 |
record_id |
řetězec | Jedinečné ID záznamu rodokmenu. Tato hodnota se automaticky vygeneruje a nelze ji spojit s žádnými tabulkami. | 3c5c8eed-87bb-3aa6-8a86-80d00d48299e |
event_id |
řetězec | Jedinečné ID jedné události rodokmenu. Více řádků může sdílet stejný event_id, pokud byly generovány stejnou událostí. Tato hodnota se automaticky vygeneruje a nelze ji spojit s žádnými tabulkami. |
ca123ff3-f3f8-332b-a832-0154a6327353 |
statement_id |
řetězec | Jedinečné ID příkazu dotazu, který vygeneroval událost rodokmenu. Jedná se o cizí klíč pro spojení se systémovou tabulkou historie dotazů. Tato hodnota se nastaví pouze při spuštění dotazu ze služby SQL Warehouse. | 1234526f-a6ac-475c-8601-e8637f8ee039 |
entity_metadata |
struktura | Metadata o entitě zodpovědné za událost rodokmenu | Zobrazit metadata entity |
direct_access |
Boolean | Určuje, jestli je zdroj přímo odkazován cílem dotazu. Pokud trueje zdroj přímo připojený k cíli dotazu. Pokud falseje zdrojem mezilehá závislost zjištěná prostřednictvím rozšíření zobrazení. Pokud například dotaz čte ze zobrazení, záznam rodokmenu podkladové základní tabulky zobrazení se zaznamená pomocí direct_access = false. |
true |
Tabulka rodokmenu sloupců
Tabulka rodokmenu sloupců neobsahuje události, které nemají zdroj. Pokud například vložíte do sloupce pomocí explicitních hodnot, nezachytí se. Pokud přečtete sloupec, zachytí se bez ohledu na to, jestli zapíšete výstup.
Cesta k tabulce: Tato systémová tabulka se nachází na system.access.column_lineageadrese .
schéma rodokmenu sloupců
Systémová tabulka rodokmenu sloupců používá následující schéma:
| Název sloupce | Datový typ | Description | Example |
|---|---|---|---|
account_id |
řetězec | ID účtu Azure Databricks. | 7af234db-66d7-4db3-bbf0-956098224879 |
metastore_id |
řetězec | ID metastoru katalogu Unity. | 5a31ba44-bbf4-4174-bf33-e1fa078e6765 |
workspace_id |
řetězec | ID pracovního prostoru | 123456789012345 |
entity_type |
řetězec | Typ entity přidružené k záznamu rodokmenu( pokud existuje). Hodnota je NOTEBOOK, , JOB, PIPELINE, DASHBOARD_V3DBSQL_DASHBOARD (zastaralé), DBSQL_QUERYnebo NULL.Poznámka: Informace o všech entitách zahrnutých v záznamu rodokmenu najdete entity_metadata ve sloupci. |
JOB |
entity_id |
řetězec | ID entity přidružené k záznamu rodokmenu nebo NULL. Poznámka: Informace o všech entitách zahrnutých v záznamu rodokmenu najdete entity_metadata ve sloupci. |
417306252667357 |
entity_run_id |
řetězec | Jedinečné ID spuštění entity přidružené k záznamu rodokmenu nebo NULL. Poznámka: Informace o všech entitách zahrnutých v záznamu rodokmenu najdete entity_metadata ve sloupci. |
688612062233399 |
source_table_full_name |
řetězec | Název tří částí pro identifikaci zdrojové tabulky | catalog.schema.table |
source_table_catalog |
řetězec | Katalog zdrojové tabulky. | catalog |
source_table_schema |
řetězec | Schéma zdrojové tabulky | schema |
source_table_name |
řetězec | Název zdrojové tabulky. | table |
source_path |
řetězec | Umístění v cloudovém úložišti zdrojové tabulky nebo cesta, pokud se čte přímo z cloudového úložiště. | abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1 |
source_type |
řetězec | Typ zdroje. Hodnota je TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEWnebo STREAMING_TABLE. |
TABLE |
source_column_name |
řetězec | Název zdrojového sloupce. | date |
target_table_full_name |
řetězec | Třídílný název k identifikaci cílové tabulky | catalog.schema.table |
target_table_catalog |
řetězec | Katalog cílové tabulky. | catalog |
target_table_schema |
řetězec | Schéma cílové tabulky | schema |
target_table_name |
řetězec | Název cílové tabulky. | table |
target_path |
řetězec | Umístění v cloudovém úložišti cílové tabulky | abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1 |
target_type |
řetězec | Typ cíle. Hodnota je TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEWnebo STREAMING_TABLE. |
TABLE |
target_column_name |
řetězec | Název cílového sloupce | date |
created_by |
řetězec | Uživatel, který tento rodokmen vygeneroval. Může to být Azure Databricks uživatelské jméno, ID instančního objektu Azure Databricks, název skupiny Azure Databricks, system-user nebo NULL, pokud informace o uživateli nelze zachytit. |
crampton.rods@email.com |
event_time |
časové razítko | Časové razítko při vygenerování rodokmenu. Informace o časovém pásmu se zaznamenávají na konci hodnoty, kde +00:00 označuje UTC. |
2025-04-20T19:47:21.194+00:00 |
event_date |
date | Datum vygenerování rodokmenu. Jedná se o dělený sloupec. | 2025-04-20 |
record_id |
řetězec | Jedinečné ID záznamu rodokmenu. Tato hodnota se automaticky vygeneruje a nelze ji spojit s žádnými tabulkami. | 3c5c8eed-87bb-3aa6-8a86-80d00d48299e |
event_id |
řetězec | Jedinečné ID jedné události rodokmenu. Více řádků může sdílet stejný event_id, pokud byly generovány stejnou událostí. Tato hodnota se automaticky vygeneruje a nelze ji spojit s žádnými tabulkami. |
ca123ff3-f3f8-332b-a832-0154a6327353 |
statement_id |
řetězec | Jedinečné ID příkazu dotazu, který vygeneroval událost rodokmenu. Jedná se o cizí klíč pro spojení se systémovou tabulkou historie dotazů. Tato hodnota se nastaví pouze při spuštění dotazu ze služby SQL Warehouse. | 1234526f-a6ac-475c-8601-e8637f8ee039 |
entity_metadata |
struktura | Metadata o entitě zodpovědné za událost rodokmenu | Zobrazit metadata entity |
direct_access |
Boolean | Určuje, jestli je zdroj přímo odkazován cílem dotazu. Pokud trueje zdroj přímo připojený k cíli dotazu. Pokud falseje zdrojem mezilehá závislost zjištěná prostřednictvím rozšíření zobrazení. Pokud například dotaz čte ze zobrazení, záznam rodokmenu podkladové základní tabulky zobrazení se zaznamená pomocí direct_access = false. |
true |
Čtení systémových tabulek rodokmenu
- Pokud chcete zjistit, jestli byla událost čtením nebo zápisem, můžete zobrazit typ zdroje a cílový typ.
- Jen pro čtení: Typ zdroje není null, ale cílový typ má hodnotu null.
- Pouze zápis: Cílový typ není null, ale zdrojový typ je null.
- Čtení a zápis: Typ zdroje a cílový typ nemají hodnotu null.
Referenční dokumentace metadat entit
Struktura entity_metadata má následující schéma:
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"
genie_space_id: "string"
alert_id: "string"
Azure Databricks zaznamenává události rodokmenu z kanálů Lakeflow, poznámkových bloků, úloh, dotazů SQL Databricks, řídicích panelů, agentů Genie a upozornění. Události od jiných entit nejsou podporovány.
V závislosti na typu události je možné zadat více hodnot. Například úloha běžící v prostředí poznámkového bloku by naplnila jak job_info, tak notebook_id.
Pokud jsou všechny hodnoty v entity_metadatanull, znamená to, že k události nebyla zapojena žádná entita Azure Databricks. Může to být například výsledek dotazu JDBC nebo kliknutí uživatele na kartu Sample Data v uživatelském rozhraní Azure Databricks.
Příklad systémové tabulky rodokmenu
Jako příklad, jak se rodokmen zaznamenává v systémových tabulkách, tady je příklad dotazu následovaný záznamy rodokmenu, který dotaz vytvoří:
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);
Záznam system.access.table_lineage by vypadal takto:
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 |
Záznam system.access.column_lineage by vypadal takto:
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
V předchozím příkladu se nezobrazují všechny sloupce rodokmenu. Úplné schéma najdete ve výše uvedeném schématu rodokmenu.
Řešení potíží s dotazy na externí tabulky
Pokud odkazujete na externí tabulku pomocí cesty ke cloudovému úložišti, přidružený záznam rodokmenu obsahuje pouze název cesty, nikoli název tabulky. Záznam rodokmenu pro tento dotaz by například obsahoval název cesty, nikoli název tabulky:
SELECT * FROM delta.`abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1`;
Pokud se pokoušíte dotazovat záznamy rodokmenu pro externí tabulku, na kterou odkazuje cesta, musíte dotaz filtrovat pomocí source_path nebo target_path namísto source_table_full_name nebo target_table_full_name. Například následující dotaz načítá všechny záznamy rodokmenu pro externí tabulku:
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";
Načtení záznamů rodokmenu na základě názvu externí tabulky
Pokud nechcete ručně načíst cestu ke cloudovému úložišti a najít rodokmen, můžete pomocí následující funkce získat data rodokmenu pomocí názvu tabulky. Pokud chcete dotazovat linii sloupců, můžete ve funkci nahradit system.access.table_lineage za system.access.column_lineage.
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)
)
Pak pomocí následujícího příkazu volejte funkci a zobrazte záznamy rodokmenu pro externí tabulku:
display(getLineageForTable("table_name"))