Aracılığıyla paylaş


Köken Sistem Tabloları Referansı

Önemli

Bu sistem tablosu Genel Önizlemeiçindedir. Tabloya erişmek için şemanın system kataloğunuzda etkinleştirilmesi gerekir. Daha fazla bilgi için bkz. sistem tablosu şemalarını etkinleştirme.

Bu makalede, iki köken sistemi tablosuna genel bir bakış sağlanır. Bu sistem tabloları, Unity Kataloğu'nun veri kökeni özelliğiüzerine kuruludur ve böylece karar alma ve raporları desteklemek için köken verilerini program aracılığıyla sorgulamanıza olanak tanır.

Not

Kökenleri yakalamak her zaman mümkün olmadığından, her iki köken tablosu da tüm okuma/yazma olaylarının bir alt kümesini temsil eder. Kayıtlar yalnızca köken çıkarılabildiğinde gönderilir.

Tablo kökeni tablosu

Tablo kökeni sistem tablosu, Unity Kataloğu tablosunda veya yolundaki her okuma veya yazma olayı için bir kayıt içerir. Buna iş yürütmeleri, notebook çalıştırmaları ve okuma ya da yazma olaylarıyla güncellenen gösterge tabloları dahildir ancak bunlarla sınırlı değildir.

Tablo yolu: Bu sistem tablosu system.access.table_lineagekonumunda bulunur.

Tablo soyağacı şeması

Tablo kökeni sistem tablosu aşağıdaki şemayı kullanır.

Sütun adı Veri türü Açıklama Örnek
account_id Dize Azure Databricks hesabının kimliği. 7af234db-66d7-4db3-bbf0-956098224879
metastore_id Dize Unity Kataloğu meta veri deposunun kimliği. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
workspace_id Dize Çalışma alanının kimliği 123456789012345
entity_type Dize Soy ağacı işleminin yakalandığı varlık türü. Değer, NOTEBOOK, JOB, PIPELINE, DASHBOARD_V3 (Pano), DBSQL_DASHBOARD (Eski pano), DBSQL_QUERY VEYA NULL şeklindedir. NOTEBOOK
entity_id Dize Soy işleminin yakalandığı varlığın kimliği. Eğer entity_typeNULL ise, entity_idNULL olur.
  • Not defteri: 23098402394234
  • İş: 23098402394234
  • Databricks SQL sorgusu: e9cd8a31-de2f-4206-adfa-4f6605d68d88
  • Pano: 01ef070d110715f2b6d3061b8bda89ea
  • Eski kontrol paneli: e9cd8a31-de2f-4206-adfa-4f6605d68d88
  • Ardışık düzen: e9cd8a31-de2f-4206-adfa-4f6605d68d88
entity_run_id Dize Varlığın benzersiz yürütmesini açıklayan kimlik veya NULL. Bu, her varlık türü için farklılık gösterir:
  • Not Defteri: komut_çalıştırma_id
  • İş Tanımı: job_run_id
  • Databricks SQL sorgusu: query_run_id
  • Pano: query_run_id
  • Eski pano: query_run_id
  • İşlem hattı: pipeline_update_id

Eğer entity_typeNULL ise, entity_run_idNULL olur.
  • Not defteri: e3cr5a10-de6f-6206-fdfa-4f5505d68d55
  • İş: 51090402394234
  • Databricks SQL sorgu: e9cd8a31-de2f-4206-adfa-4f6605d68d88
  • Pano: c3ra5m10-pt6o-6206-mdfa-4f5505d68d55
  • Eski kontrol paneli: c3ra5m10-pt6o-6206-mdfa-4f5505d68d55
  • Ardışık düzen: c5am1e0r-on2f-4206-adfa-4f6605d68d88
source_table_full_name Dize Kaynak tabloyu tanımlamak için üç bölümlü ad. catalog.schema.table
source_table_catalog Dize Kaynak tablonun kataloğu. catalog
source_table_schema Dize Kaynak tablonun şeması. schema
source_table_name Dize Kaynak tablonun adı. table
source_path Dize Kaynak tablonun bulut depolamadaki konumu veya doğrudan bulut depolamadan okuyorsa yolu. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
source_type Dize Kaynağın türü. Değeri , , TABLEPATHveya VIEWşeklindedirSTREAMING_TABLE. TABLE
target_table_full_name Dize Hedef tabloyu tanımlamak için üç parçalı isim. catalog.schema.table
target_table_catalog Dize Hedef tablonun kataloğu. catalog
target_table_schema Dize Hedef tablonun şeması. schema
target_table_name Dize Hedef tablonun adı. table
target_path Dize Hedef tablonun bulut depolama alanında konum. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
target_type Dize Hedefin türü. Değer , , TABLEPATHveya VIEWşeklindedirSTREAMING TABLE. TABLE
created_by Dize Bu kökeni oluşturan kullanıcı. Bu, Azure Databricks kullanıcı adı, Azure Databricks hizmet sorumlusu kimliği, “Sistem-Kullanıcı” veya kullanıcı bilgileri yakalanamıyorsa NULL olabilir. crampton.rods@email.com
event_time timestamp Soygeçmişinin oluşturulma zaman damgası. Zaman dilimi bilgileri, UTC'yi temsil eden +00:00 ile birlikte değerin sonunda kaydedilir. 2023-06-20T19:47:21.194+00:00
event_date tarih Kökenin oluşturulduğu tarih. Bu bölümlenmiş bir sütundur. 2023-06-20

Sütun kökeni tablosu

Sütun kökeni tablosu, kaynağı olmayan olayları içermez. Örneğin, açıkça belirtilmiş değerler kullanarak bir sütuna eklendiğinde, kaydedilmez. Eğer bir sütunu okursanız, çıktıyı yazıp yazmadığınıza bakılmaksızın yakalanır. DLT için sütun izleme desteklenmez.

Tablo yolu: Bu sistem tablosu system.access.column_lineagekonumunda bulunur.

Sütun kökeni şeması

Sütun kökeni sistem tablosu aşağıdaki şemayı kullanır:

Sütun adı Veri türü Açıklama Örnek
account_id Dize Azure Databricks hesabının kimliği. 7af234db-66d7-4db3-bbf0-956098224879
metastore_id Dize Unity Kataloğu meta veri deposunun kimliği. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
workspace_id Dize Çalışma alanının kimliği 123456789012345
entity_type Dize Soy ağacı işleminin kaydedildiği varlık türü. Değer, NOTEBOOK, JOB, PIPELINE, DASHBOARD_V3 (Pano), DBSQL_DASHBOARD (Eski pano), DBSQL_QUERY VEYA NULL şeklindedir. NOTEBOOK
entity_id Dize Soy işleminin yakalandığı varlığın kimliği. Eğer entity_typeNULL ise, entity_idNULL olur.
  • Not defteri: 23098402394234
  • İş: 23098402394234
  • Databricks SQL sorgusu: e9cd8a31-de2f-4206-adfa-4f6605d68d88
  • Pano: 01ef070d110715f2b6d3061b8bda89ea
  • Eski gösterge paneli: e9cd8a31-de2f-4206-adfa-4f6605d68d88
  • Boru Hattı: e9cd8a31-de2f-4206-adfa-4f6605d68d88
entity_run_id Dize Varlığın benzersiz çalışmasını veya NULL açıklayan kimlik. Bu, her varlık türü için farklılık gösterir:
  • Notebook: command_run_id
  • İş: job_run_id
  • Databricks SQL sorgusu: query_run_id
  • Kontrol Paneli: query_run_id
  • Eski gösterge paneli: query_run_id
  • İşlem hattı: pipeline_update_id

Eğer entity_typeNULL ise, entity_run_idNULL olur.
  • Not defteri: e3cr5a10-de6f-6206-fdfa-4f5505d68d55
  • İş: 51090402394234
  • Databricks SQL sorgusu: e9cd8a31-de2f-4206-adfa-4f6605d68d88
  • Pano: c3ra5m10-pt6o-6206-mdfa-4f5505d68d55
  • Eski gösterge paneli: c3ra5m10-pt6o-6206-mdfa-4f5505d68d55
  • Ardışık düzen: c5am1e0r-on2f-4206-adfa-4f6605d68d88
source_table_full_name Dize Kaynak tabloyu tanımlamak için üç bölümlü ad. catalog.schema.table
source_table_catalog Dize Kaynak tablonun kataloğu. catalog
source_table_schema Dize Kaynak tablonun şeması. schema
source_table_name Dize Kaynak tablonun adı. table
source_path Dize Bulut depolamadaki kaynak tablonun konumu veya doğrudan bulut depolamadan okunuyorsa yolu. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
source_type Dize Kaynağın türü. Değeri , , TABLEPATHveya VIEWşeklindedirSTREAMING_TABLE. TABLE
source_column_name Dize Kaynak sütunun adı. date
target_table_full_name Dize Hedef tabloyu tanımlamak için üç parçalı isim. catalog.schema.table
target_table_catalog Dize Hedef tablonun kataloğu. catalog
target_table_schema Dize Hedef tablonun şeması. schema
target_table_name Dize Hedef tablonun adı. table
target_path Dize Hedef tablonun bulut depolama alanında konum. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
target_type Dize Hedefin türü. Değer , , TABLEPATHveya VIEWşeklindedirSTREAMING TABLE. TABLE
target_column_name Dize Hedef sütunun adı. date
created_by Dize Bu kökeni oluşturan kullanıcı. Bu, Azure Databricks kullanıcı adı, Azure Databricks hizmet sorumlusu kimliği, “Sistem-Kullanıcı” veya kullanıcı bilgileri yakalanamıyorsa NULL olabilir. crampton.rods@email.com
event_time timestamp Soygeçmişinin oluşturulma zaman damgası. Zaman dilimi bilgileri, UTC'yi temsil eden +00:00 ile birlikte değerin sonunda kaydedilir. 2023-06-20T19:47:21.194+00:00
event_date tarih Kökenin oluşturulduğu tarih. Bu bölümlenmiş bir sütundur. 2023-06-20

Köken sistemi tablolarını okuma

Köken sistemi tablolarını analiz ederken aşağıdaki noktalara dikkat edin:

  • entity_typeiçin Azure Databricks DLT, not defterleri, iş görevleri, Databricks SQL sorgularını ve panoları destekler. Diğer kaynaklardan gelen olaylar desteklenmez.
  • Eğer entity_type öğesini null olarak görüyorsanız, bu, olaya hiçbir Azure Databricks varlığının dahil olmadığı anlamına gelir. Örneğin, bir JDBC sorgusunun veya bir kullanıcının Azure Databricks kullanıcı arabirimindeki Örnek Veri sekmesine tıklamasının sonucu olabilir.
  • Olayın okuma mı yoksa yazma mı olduğunu belirlemek için kaynak türünü ve hedef türü görüntüleyebilirsiniz.
    • Salt okunur: Kaynak türü boş değil, ancak hedef tür boştur.
    • Yalnızca yazma: Hedef tip boş değil, ancak kaynak tip boş.
    • Okuma ve yazma: Kaynak türü ve hedef türü null değil.

Köken sistemi tablo örneği

Kökenlerin sistem tablolarında nasıl kaydedildiğiyle ilgili bir örnek olarak, aşağıda örnek bir sorgu ve ardından sorgunun oluşturduğu köken kayıtları verilmiştir:

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);

içindeki system.access.table_lineage kayıt şöyle görünür:

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

içindeki system.access.column_lineage kayıt şöyle görünür:

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

Bilgi Notu

Yukarıdaki örnekte tüm köken sütunları gösterilmez. Şemanın tamamı için yukarıdaki köken şemasıbakın.

Dış tablo sorgularının sorunlarını giderme

Bulut depolama yolunu kullanarak bir dış tabloya başvurdığınızda, ilişkili köken kaydı tablo adını değil yalnızca yol adını içerir. Örneğin, bu sorgunun köken kaydı tablo adını değil yol adını içerir:

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

Yol tarafından referans verilen bir dış tablonun soy kayıtlarını sorgulamaya çalışıyorsanız, source_path veya target_pathyerine source_table_full_name veya target_table_full_name kullanarak sorguyu filtrelemeniz gerekir. Örneğin, aşağıdaki sorgu bir dış tablonun tüm köken kayıtlarını çeker:

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";

Örnek: Dış tablo adına göre köken kayıtlarını alma

Kökeni bulmak için bulut depolama yolunu el ile almak istemiyorsanız, tablo adını kullanarak köken verilerini almak için aşağıdaki işlevi kullanabilirsiniz. Fonksiyonda sütun kökenini sorgulamak istiyorsanız system.access.table_lineagesystem.access.column_lineage ile de değiştirebilirsiniz.

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)
  )

Ardından işlevi çağırmak ve dış tablonun köken kayıtlarını görüntülemek için aşağıdaki komutu kullanın:

display(getLineageForTable("table_name"))