Dokumen ini menjelaskan cara mengintegrasikan OpenLineage dengan Knowledge Catalog (sebelumnya Dataplex Universal Catalog) untuk memvisualisasikan data silsilah dari berbagai sistem.
Ringkasan
OpenLineage adalah platform terbuka untuk mengumpulkan dan menganalisis informasi silsilah data. Dengan menggunakan standar terbuka untuk data silsilah, OpenLineage menangkap peristiwa silsilah dari komponen data pipeline yang menggunakan OpenLineage API untuk melaporkan proses, tugas, dan set data.
Melalui Data Lineage API, Anda dapat mengimpor peristiwa OpenLineage untuk ditampilkan di antarmuka web Knowledge Catalog bersama informasi silsilah dari Google Cloud layanan, seperti BigQuery, Managed Service untuk Apache Airflow, Cloud Data Fusion, dan Managed Service untuk Apache Spark.
Untuk mengimpor peristiwa OpenLineage yang menggunakan
spesifikasi OpenLineage,
gunakan metode REST API
ProcessOpenLineageRunEvent, dan petakan faset OpenLineage ke atribut Data Lineage API.
Batasan
Data Lineage API mendukung OpenLineage versi utama 1.
Endpoint Data Lineage API
ProcessOpenLineageRunEventhanya bertindak sebagai konsumen pesan OpenLineage, bukan produsen. API ini memungkinkan Anda mengirim informasi silsilah yang dihasilkan oleh alat atau sistem yang kompatibel dengan OpenLineage ke Knowledge Catalog. Beberapa Google Cloud layanan, seperti Managed Service untuk Apache Spark dan Managed Airflow, menyertakan OpenLineage produsen bawaan yang dapat mengirim peristiwa ke endpoint ini, sehingga mengotomatiskan pengambilan silsilah dari layanan tersebut.Data Lineage API tidak mendukung hal berikut:
- Rilis OpenLineage berikutnya dengan perubahan format pesan
DatasetEventJobEvent
Ukuran maksimum satu pesan adalah 5 MB.
Panjang setiap Nama yang Sepenuhnya Memenuhi Syarat dalam input dan output dibatasi hingga 4.000 karakter.
Link dikelompokkan berdasarkan peristiwa, dengan maksimum 100 link per peristiwa. Jumlah agregat maksimum link tingkat tabel adalah 1.000. Jika pesan berisi lebih dari 1.500 link tingkat kolom, informasi tingkat kolom akan dilewati.
Knowledge Catalog menampilkan grafik silsilah untuk setiap proses tugas, yang menunjukkan input dan output peristiwa silsilah. Knowledge Catalog tidak mendukung proses tingkat yang lebih rendah seperti tahap Spark.
Pemetaan OpenLineage
Untuk mengetahui informasi tentang pemetaan OpenLineage, lihat Pemetaan OpenLineage.
Mengimpor peristiwa OpenLineage
Jika Anda belum menyiapkan OpenLineage, lihat Memulai.
Untuk mengimpor peristiwa OpenLineage ke Knowledge Catalog, panggil metode REST API
ProcessOpenLineageRunEvent:
POST https://datalineage.googleapis.com/v1/projects/{project}/locations/{location}:processOpenLineageRunEvent \
--data '{"eventTime":"2023-04-04T13:21:16.098Z","eventType":"COMPLETE","inputs":[{"name":"somename","namespace":"somenamespace"}],"job":{"name":"somename","namespace":"somenamespace"},"outputs":[{"name":"somename","namespace":"somenamespace"}],"producer":"someproducer","run":{"runId":"somerunid"},"schemaURL":"https://openlineage.io/spec/1-0-5/OpenLineage.json#/$defs/RunEvent"}'
Alat untuk mengirim pesan OpenLineage
Untuk menyederhanakan pengiriman peristiwa ke Data Lineage API, Anda dapat menggunakan berbagai alat dan library:
- Library Produsen Java Google Cloud: Google menyediakan library Java open source untuk membantu membuat dan mengirim peristiwa OpenLineage ke Data Lineage API. Untuk mengetahui informasi selengkapnya, lihat postingan blog Library java produsen untuk Data Lineage kini open source. Library ini tersedia di GitHub dan Maven.
- Transportasi GCP OpenLineage: Untuk produsen OpenLineage berbasis Java, Transportasi GcpLineage
khusus tersedia. Transportasi ini menyederhanakan integrasi dengan Data Lineage API, dengan meminimalkan kode yang diperlukan untuk mengirim peristiwa ke Data Lineage API.
GcpLineageTransportdapat dikonfigurasi sebagai sink peristiwa untuk produsen OpenLineage yang ada seperti Airflow, Spark, dan Flink. Untuk mengetahui informasi dan contoh selengkapnya, lihat GcpLineage.
Menganalisis informasi dari OpenLineage
Untuk menganalisis peristiwa OpenLineage yang diimpor, lihat Melihat grafik silsilah di UI Knowledge Catalog.
Data tersimpan
Data Lineage API tidak menyimpan semua data faset dari pesan OpenLineage. Data Lineage API menyimpan kolom faset berikut:
spark_versionopenlineage-spark-versionspark-version
- semua
spark.logicalPlan.* environment-properties(custom Google Cloud lineage faset)origin.sourcetypedanorigin.namespark.app.idspark.app.namespark.batch.idspark.batch.uuidspark.cluster.namespark.cluster.regionspark.job.idspark.job.uuidspark.project.idspark.query.node.namespark.session.idspark.session.uuid
Data Lineage API menyimpan informasi berikut:
eventTimerun.runIdjob.namespacejob.name
Langkah berikutnya
- Pelajari lebih lanjut silsilah data dengan Managed Service untuk Apache Spark dan silsilah data Hive integrasi.
- Coba di lab interaktif: Menangkap dan Menjelajahi Pembaruan Data Dengan Silsilah Data dan OpenLineage