Dokumen ini menjelaskan cara mengintegrasikan OpenLineage dengan 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 merekam peristiwa silsilah dari komponen pipeline data yang menggunakan OpenLineage API untuk melaporkan eksekusi, tugas, dan set data.
Melalui Data Lineage API, Anda dapat mengimpor peristiwa OpenLineage untuk ditampilkan di antarmuka web Dataplex Universal Catalog bersama informasi silsilah dari layananGoogle Cloud , seperti BigQuery, Cloud Composer, Cloud Data Fusion, dan Dataproc.
Untuk mengimpor peristiwa OpenLineage yang menggunakan
spesifikasi OpenLineage,
gunakan metode
REST API ProcessOpenLineageRunEvent, dan petakan aspek 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 Dataplex Universal Catalog. Beberapa layanan Google Cloud , seperti Dataproc dan Cloud Composer, menyertakan produsen OpenLineage 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 Memenuhi Syarat Sepenuhnya dalam input dan output dibatasi hingga 4.000 karakter.
Link dikelompokkan berdasarkan peristiwa dengan 100 link. Jumlah gabungan maksimum link adalah 1.000.
Dataplex Universal Catalog menampilkan grafik silsilah untuk setiap eksekusi tugas, yang menunjukkan input dan output peristiwa silsilah. Layanan ini tidak mendukung proses tingkat 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 Dataplex Universal 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 Producer java library for Data Lineage is now open source. Library ini tersedia di GitHub dan Maven.
- Transportasi OpenLineage GCP: Untuk produsen OpenLineage berbasis Java, tersedia
GcpLineage Transport
khusus. Hal 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 produser 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 bagian Melihat grafik silsilah di UI Dataplex Universal Catalog.
Data tersimpan
Data Lineage API tidak menyimpan semua data aspek dari pesan OpenLineage. Data Lineage API menyimpan kolom aspek berikut:
spark_versionopenlineage-spark-versionspark-version
- semua
spark.logicalPlan.* environment-properties(aspek silsilah Google Cloud kustom)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
- Lihat integrasi Dataproc Serverless dan Dataproc Hive.
- Coba di lab interaktif: Merekam dan Menjelajahi Pembaruan Data dengan Silsilah Data dan OpenLineage