Referensi tabel sistem pelacakan data

Halaman ini menyertakan referensi untuk dua tabel sistem silsilah data. Tabel sistem ini dibangun di atas fitur silsilah data Unity Catalog, memungkinkan Anda untuk secara terprogram mem-query data silsilah untuk mendukung pembuatan keputusan dan laporan. Untuk mengakses tabel, skema harus diaktifkan di katalog Anda system . Untuk informasi selengkapnya, lihat Mengaktifkan tabel sistem.

Note

Kedua tabel silsilah mewakili subset dari semua peristiwa baca/tulis, karena tidak selalu memungkinkan untuk mengambil silsilah data. Rekaman hanya dipancarkan ketika garis keturunan dapat disimpulkan. Batasan silsilah data yang dijelaskan dalam Batasan silsilah juga berlaku untuk tabel sistem silsilah data.

Tabel Silsilah

Tabel sistem silsilah mencakup catatan untuk setiap peristiwa baca atau tulis pada tabel atau jalur di Katalog Unity. Ini mencakup, tetapi tidak terbatas pada, pelaksanaan pekerjaan, pelaksanaan buku catatan, dan dasbor yang diperbarui dengan peristiwa baca atau tulis.

Jalur tabel: Tabel sistem ini terletak di system.access.table_lineage.

skema silsilah tabel

Tabel silsilah sistem menggunakan skema berikut.

Nama kolom Jenis data Description Example
account_id string ID akun Azure Databricks. 7af234db-66d7-4db3-bbf0-956098224879
metastore_id string ID metastore dari Unity Catalog. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
workspace_id string ID ruang kerja 123456789012345
entity_type string Jenis entitas yang terkait dengan rekaman silsilah data, jika ada. Nilainya adalah NOTEBOOK, , JOBPIPELINE, DASHBOARD_V3, DBSQL_DASHBOARD (tidak digunakan lagi), DBSQL_QUERY, atau NULL.
Catatan: silakan lihat entity_metadata kolom untuk informasi tentang semua entitas yang terlibat dalam catatan silsilah data.
JOB
entity_id string ID entitas yang terkait dengan rekaman silsilah data, atau NULL.
Catatan: silakan lihat entity_metadata kolom untuk informasi tentang semua entitas yang terlibat dalam catatan silsilah data.
417306252667357
entity_run_id string ID proses unik entitas yang terkait dengan rekaman silsilah data, atau NULL.
Catatan: silakan lihat entity_metadata kolom untuk informasi tentang semua entitas yang terlibat dalam catatan silsilah data.
688612062233399
source_table_full_name string Untuk mengidentifikasi tabel sumber, gunakan nama yang terdiri dari tiga bagian. catalog.schema.table
source_table_catalog string Katalog tabel sumber. catalog
source_table_schema string Skema tabel sumber. schema
source_table_name string Nama tabel sumber. table
source_path string Lokasi di penyimpanan cloud tabel sumber, atau jalur jika dibaca dari penyimpanan cloud secara langsung. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
source_type string Jenis sumber. Nilainya adalah TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEW, atau STREAMING_TABLE. TABLE
target_table_full_name string Nama dengan tiga bagian untuk mengidentifikasi tabel target. catalog.schema.table
target_table_catalog string Katalog dari tabel target. catalog
target_table_schema string Skema tabel tujuan. schema
target_table_name string Nama dari tabel target. table
target_path string Lokasi tabel target di penyimpanan cloud. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
target_type string Jenis target. Nilainya adalah TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEW, atau STREAMING_TABLE. TABLE
created_by string Pengguna yang menghasilkan silsilah data ini. Ini bisa berupa nama pengguna Azure Databricks, ID perwakilan layanan Azure Databricks, nama grup Azure Databricks, "Pengguna Sistem", atau NULL jika informasi pengguna tidak dapat diambil. crampton.rods@email.com
event_time stempel waktu Tanda waktu ketika silsilah dibuat. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. 2025-04-20T19:47:21.194+00:00
event_date date Tanggal ketika silsilah dibuat. Ini adalah kolom yang dipartisi. 2025-04-20
record_id string ID unik rekaman silsilah. Nilai ini dibuat secara otomatis dan tidak dapat digabungkan dengan tabel apa pun. 3c5c8eed-87bb-3aa6-8a86-80d00d48299e
event_id string ID unik untuk satu peristiwa garis keturunan. Beberapa baris dapat berbagi element yang sama event_id jika dibuat oleh peristiwa yang sama. Nilai ini dibuat secara otomatis dan tidak dapat digabungkan dengan tabel apa pun. ca123ff3-f3f8-332b-a832-0154a6327353
statement_id string ID unik dari pernyataan kueri yang menghasilkan peristiwa silsilah data. Ini adalah kunci asing untuk bergabung dengan tabel sistem riwayat kueri. Nilai ini hanya diatur saat kueri dijalankan dari gudang SQL. 1234526f-a6ac-475c-8601-e8637f8ee039
entity_metadata struct Metadata tentang entitas yang bertanggung jawab atas peristiwa silsilah data. Lihat Metadata entitas
direct_access Boolean Apakah sumber langsung dirujuk oleh target kueri. Ketika true, sumber terhubung langsung ke target kueri. Ketika false, sumbernya adalah dependensi perantara yang ditemukan melalui ekspansi tampilan. Misalnya, jika kueri membaca dari tampilan, rekaman silsilah data untuk tabel dasar dari tampilan tersebut direkam dengan direct_access = false. true

Tabel jejak kolom

Tabel silsilah kolom tidak menyertakan peristiwa yang tidak memiliki sumber. Misalnya, jika Anda menyisipkan ke dalam kolom menggunakan nilai eksplisit, itu tidak tercatat. Jika Anda membaca kolom, hal itu akan tercatat, terlepas dari apakah Anda menulis output atau tidak.

Jalur tabel: Tabel sistem ini terletak di system.access.column_lineage.

Skema jalur kolom

Tabel sistem silsilah kolom menggunakan skema berikut:

Nama kolom Jenis data Description Example
account_id string ID akun Azure Databricks. 7af234db-66d7-4db3-bbf0-956098224879
metastore_id string ID metastore dari Unity Catalog. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
workspace_id string ID ruang kerja 123456789012345
entity_type string Jenis entitas yang terkait dengan rekaman silsilah data, jika ada. Nilainya adalah NOTEBOOK, , JOBPIPELINE, DASHBOARD_V3, DBSQL_DASHBOARD (tidak digunakan lagi), DBSQL_QUERY, atau NULL.
Catatan: silakan lihat entity_metadata kolom untuk informasi tentang semua entitas yang terlibat dalam catatan silsilah data.
JOB
entity_id string ID entitas yang terkait dengan rekaman silsilah data, atau NULL.
Catatan: silakan lihat entity_metadata kolom untuk informasi tentang semua entitas yang terlibat dalam catatan silsilah data.
417306252667357
entity_run_id string ID proses unik entitas yang terkait dengan rekaman silsilah data, atau NULL.
Catatan: silakan lihat entity_metadata kolom untuk informasi tentang semua entitas yang terlibat dalam catatan silsilah data.
688612062233399
source_table_full_name string Untuk mengidentifikasi tabel sumber, gunakan nama yang terdiri dari tiga bagian. catalog.schema.table
source_table_catalog string Katalog tabel sumber. catalog
source_table_schema string Skema tabel sumber. schema
source_table_name string Nama tabel sumber. table
source_path string Lokasi di penyimpanan cloud tabel sumber, atau jalur jika dibaca dari penyimpanan cloud secara langsung. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
source_type string Jenis sumber. Nilainya adalah TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEW, atau STREAMING_TABLE. TABLE
source_column_name string Nama kolom sumber. date
target_table_full_name string Nama dengan tiga bagian untuk mengidentifikasi tabel target. catalog.schema.table
target_table_catalog string Katalog dari tabel target. catalog
target_table_schema string Skema tabel tujuan. schema
target_table_name string Nama dari tabel target. table
target_path string Lokasi tabel target di penyimpanan cloud. abfss://my-container-name@storage-account-name.dfs.core.windows.net/table1
target_type string Jenis target. Nilainya adalah TABLE, , PATHVIEW, MATERIALIZED_VIEW, METRIC_VIEW, atau STREAMING_TABLE. TABLE
target_column_name string Nama kolom target. date
created_by string Pengguna yang menghasilkan silsilah data ini. Ini bisa berupa nama pengguna Azure Databricks, ID perwakilan layanan Azure Databricks, nama grup Azure Databricks, "Pengguna Sistem", atau NULL jika informasi pengguna tidak dapat diambil. crampton.rods@email.com
event_time stempel waktu Tanda waktu ketika silsilah dibuat. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. 2025-04-20T19:47:21.194+00:00
event_date date Tanggal ketika silsilah dibuat. Ini adalah kolom yang dipartisi. 2025-04-20
record_id string ID unik rekaman silsilah. Nilai ini dibuat secara otomatis dan tidak dapat digabungkan dengan tabel apa pun. 3c5c8eed-87bb-3aa6-8a86-80d00d48299e
event_id string ID unik untuk satu peristiwa garis keturunan. Beberapa baris dapat berbagi element yang sama event_id jika dibuat oleh peristiwa yang sama. Nilai ini dibuat secara otomatis dan tidak dapat digabungkan dengan tabel apa pun. ca123ff3-f3f8-332b-a832-0154a6327353
statement_id string ID unik dari pernyataan kueri yang menghasilkan peristiwa silsilah data. Ini adalah kunci asing untuk bergabung dengan tabel sistem riwayat kueri. Nilai ini hanya diatur saat kueri dijalankan dari gudang SQL. 1234526f-a6ac-475c-8601-e8637f8ee039
entity_metadata struct Metadata tentang entitas yang bertanggung jawab atas peristiwa silsilah data. Lihat Metadata entitas
direct_access Boolean Apakah sumber langsung dirujuk oleh target kueri. Ketika true, sumber terhubung langsung ke target kueri. Ketika false, sumbernya adalah dependensi perantara yang ditemukan melalui ekspansi tampilan. Misalnya, jika kueri membaca dari tampilan, rekaman silsilah data untuk tabel dasar dari tampilan tersebut direkam dengan direct_access = false. true

Membaca tabel sistem keturunan

  • Untuk menentukan apakah peristiwa tersebut merupakan pembacaan atau penulisan, Anda dapat melihat tipe sumber dan tipe target.
    • Baca-saja: Jenis sumber tidak null, tetapi jenis target null.
    • Mode Baca-Saja: Tipe target tidak null, tetapi tipe sumber adalah null.
    • Baca dan tulis: Jenis sumber dan jenis target tidak kosong.

Referensi metadata entitas

Struktur entity_metadata memiliki skema berikut:

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 merekam peristiwa silsilah data dari Alur Deklaratif Lakeflow Spark, notebook, pekerjaan, kueri Databricks SQL, dasbor, Ruang Genie, dan pemberitahuan. Acara dari entitas lain tidak didukung.

Beberapa nilai dapat diisi tergantung pada jenis peristiwa. Misalnya, pekerjaan yang menjalankan tugas notebook akan mengisi baik job_info maupun notebook_id.

Jika semua nilai dalam entity_metadatanull, itu berarti tidak ada entitas Azure Databricks yang terlibat dalam peristiwa tersebut. Misalnya, itu bisa menjadi hasil dari kueri JDBC atau dari pengguna yang mengklik tab Sample Data di antarmuka pengguna Azure Databricks.

Contoh tabel sistem silsilah

Sebagai contoh bagaimana silsilah data direkam dalam tabel sistem, berikut adalah contoh kueri diikuti oleh rekaman silsilah data yang dibuat kueri:

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

Catatan di system.access.table_lineage akan terlihat seperti:

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

Catatan di system.access.column_lineage akan terlihat seperti:

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

Tidak semua kolom silsilah ditampilkan dalam contoh di atas. Untuk skema lengkap, lihat skema silsilah di atas.

Mengatasi masalah kueri tabel eksternal

Saat Anda mereferensikan tabel eksternal menggunakan jalur penyimpanan cloud-nya, rekaman silsilah data terkait hanya menyertakan nama jalur dan bukan nama tabel. Sebagai contoh, rekaman silsilah data untuk kueri ini akan menyertakan nama jalur dan bukan nama tabel:

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

Jika Anda mencoba mengkueri rekaman silsilah data untuk tabel eksternal yang dirujuk menurut jalur, Anda harus memfilter kueri menggunakan source_path atau target_path bukan source_table_full_name atau target_table_full_name. Misalnya, kueri berikut menarik semua rekaman silsilah data untuk tabel eksternal:

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

Mengambil catatan garis keturunan berdasarkan nama tabel eksternal

Jika Anda tidak ingin mengambil jalur penyimpanan cloud secara manual untuk menemukan silsilah, Anda bisa menggunakan fungsi berikut untuk mendapatkan silsilah tersebut menggunakan nama tabel. Anda juga bisa mengganti system.access.table_lineage dengan system.access.column_lineage dalam fungsi jika Anda ingin mengkueri silsilah kolom.

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

Kemudian gunakan perintah berikut untuk memanggil fungsi dan menampilkan rekaman silsilah data untuk tabel eksternal:

display(getLineageForTable("table_name"))