Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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"))