Federasi metadata adalah layanan yang memungkinkan Anda mengakses beberapa sumber metadata dari satu endpoint.
Untuk menyiapkan federasi, Anda membuat layanan federasi, lalu mengonfigurasi sumber metadata. Setelah itu, layanan akan mengekspos satu endpoint gRPC yang dapat Anda gunakan untuk mengakses semua metadata.
Misalnya, dengan menggunakan federasi, Anda dapat membuat cluster Dataproc yang mengekspos beberapa layanan Dataproc Metastore melalui satu endpoint. Setelah itu, Anda dapat menjalankan tugas big data melalui mesin software open source (OSS), seperti Spark atau Hive, untuk mengakses metadata di beberapa metastore.
Cara kerja federasi
Beban kerja big data OSS yang berjalan di Spark atau Hive mengirim permintaan ke Hive Metastore API untuk mengambil metadata saat runtime.
- Antarmuka Hive Metastore mendukung metode baca dan tulis. Layanan federasi mengekspos antarmuka Hive Metastore versi gRPC.
- Saat runtime, saat layanan federasi menerima permintaan, layanan tersebut akan memeriksa urutan sumber untuk mengambil metadata yang sesuai.
Sumber metadata
Saat membuat layanan federasi, Anda harus menambahkan sumber metadata. Anda dapat menggunakan sumber berikut sebagai metastore backend:
- Instance Dataproc Metastore.
- Project yang berisi satu atau beberapa set data BigQuery.
- Dataplex Lake (Pratinjau).
Pembatasan sumber
Bagian berikut mencantumkan batasan yang harus Anda patuhi saat menggunakan berbagai sumber metadata.
Semua sumber
Batasan berikut berlaku untuk semua sumber metadata:
- Layanan federasi tidak berisi datanya sendiri. Sebagai gantinya, layanan federasi hanya menayangkan metadata dari salah satu sumber metadatanya.
- Layanan federasi tidak dapat menjadi sumber metadata di layanan federasi lain.
Dataproc Metastore
Jika Anda menggunakan Dataproc Metastore sebagai sumber, batasan berikut berlaku:
- Layanan federasi hanya tersedia melalui endpoint gRPC. Untuk menggunakan Dataproc Metastore dengan federasi, buat metastore dengan endpoint gRPC.
- Layanan federasi dapat dilampirkan ke layanan Dataproc Metastore satu region di satu region. Layanan federasi tidak mendukung layanan Dataproc Metastore multi-region.
BigQuery
Jika menggunakan project yang berisi set data BigQuery sebagai sumber, Anda harus memenuhi kondisi berikut:
- Berikan peran IAM yang benar untuk mengakses project yang berisi set data BigQuery.
- Tambahkan minimal satu layanan Dataproc Metastore sebagai sumber, bersama dengan set data BigQuery Anda.
Dataplex Lake
- Berikan peran IAM yang berisi izin
dataplex.lakes.get
. - Tambahkan setidaknya satu layanan Dataproc Metastore sebagai sumber, bersama dengan Dataplex Lake Anda.
Pengurutan sumber
Layanan federasi Anda memproses permintaan metadata dalam urutan prioritas. Konsep ini dikenal sebagai pengurutan sumber. Saat runtime, saat layanan federasi menerima permintaan, layanan tersebut akan memeriksa pengurutan sumber dan menyelesaikan salah satu tindakan berikut:
- Jika permintaan berisi nama database. Permintaan dirutekan ke metastore backend yang berisi nama database. Jika lebih dari satu metastore berisi nama database yang sama, permintaan akan dirutekan ke metastore dengan peringkat terendah.
- Jika permintaan membuat atau menghapus database. Permintaan dirutekan ke metastore dengan peringkat terendah.
- Jika permintaan tidak berisi nama database dan tidak membuat atau
menghapus database. Permintaan dirutekan ke instance Dataproc Metastore dengan peringkat terendah. Beberapa
contoh permintaan Hive Metastore yang tidak menentukan database adalah
set_ugi
dancreate_database
. - Jika tidak ada metastore yang berisi database. Mesin OSS merespons dengan yang setara dengan error tidak ditemukan.