Mengelola metadata data lake, zona, dan aset

Panduan ini menjelaskan metadata Dataplex Universal Catalog untuk data lake, zona, dan aset, serta cara menggunakan API Dataplex Universal Catalog untuk mengelolanya.

Ringkasan

Katalog Universal Dataplex memindai hal berikut:

  • Aset data terstruktur dan semi-terstruktur dalam data lake, untuk mengekstrak metadata tabel ke dalam entity tabel
  • Data tidak terstruktur, seperti gambar dan teks, untuk mengekstrak metadata kumpulan file ke dalam entitas kumpulan file

Anda dapat menggunakan Dataplex Universal Catalog Metadata API untuk melakukan hal berikut:

  • Melihat, mengedit, dan menghapus metadata entitas tabel dan kumpulan file
  • Membuat metadata entitas tabel atau kumpulan file Anda sendiri

Anda dapat menganalisis metadata Dataplex Universal Catalog menggunakan hal berikut:

  • Data Catalog (Tidak digunakan lagi) untuk menelusuri dan memberi tag
  • Dataproc Metastore dan BigQuery untuk kueri metadata tabel dan pemrosesan analisis

API Katalog Universal Dataplex

Bagian ini merangkum API Dataplex Universal Catalog dan resource utama yang terkait dengannya.

Control plane API

API bidang kontrol Dataplex Universal Catalog memungkinkan pembuatan dan pengelolaan resource lake, zona, dan aset.

  • Lake: Instance layanan Dataplex Universal Catalog yang memungkinkan pengelolaan resource penyimpanan di seluruh project dalam organisasi.

  • Zone: Pengelompokan aset secara logis dalam data lake. Gunakan beberapa zona dalam lake untuk mengatur data berdasarkan kesiapan, beban kerja, atau struktur organisasi.

  • Aset: Sumber daya penyimpanan, dengan data yang disimpan di bucket Cloud Storage atau set data BigQuery, yang dilampirkan ke zona dalam data lake.

Metadata API

Gunakan Dataplex Universal Catalog Metadata API untuk membuat dan mengelola metadata dalam entitas dan partisi tabel dan kumpulan file. Katalog Universal Dataplex memindai aset data, baik di data lake maupun yang disediakan oleh Anda, untuk membuat entity dan partisi. Entitas dan partisi mempertahankan referensi ke aset terkait dan lokasi penyimpanan fisik.

Konsep utama

Entitas tabel:

Metadata untuk data terstruktur dengan skema yang jelas. Entitas tabel diidentifikasi secara unik berdasarkan ID entitas dan lokasi data. Metadata entitas tabel dapat dikueri di BigQuery dan Dataproc Metastore:

  • Objek Cloud Storage: Metadata untuk objek Cloud Storage, yang diakses melalui Cloud Storage API.
  • Tabel BigQuery: Metadata untuk tabel BigQuery, yang diakses melalui BigQuery API.
Entitas kumpulan file:

Metadata tentang data tidak terstruktur, yang biasanya tanpa skema. Kumpulan file diidentifikasi secara unik berdasarkan ID entitas dan lokasi data. Setiap set file memiliki format data.

Partisi:

Metadata untuk subset data dalam entitas tabel atau kumpulan file, yang diidentifikasi oleh serangkaian key-value pair dan lokasi data.

Coba API

Gunakan halaman dokumentasi referensi API lakes.zones.entities dan lakes.zones.partitions untuk melihat parameter dan kolom yang terkait dengan setiap API. Gunakan panel Coba API ini yang menyertai dokumentasi referensi untuk setiap metode API guna membuat permintaan API menggunakan berbagai parameter dan kolom. Anda dapat membuat, melihat, dan mengirimkan permintaan tanpa perlu membuat kredensial, lalu melihat respons yang ditampilkan oleh layanan.

Bagian berikut memberikan informasi untuk membantu Anda memahami dan menggunakan Metadata API Katalog Universal Dataplex.

Entity

Mencantumkan entitas

Untuk membatasi daftar entitas yang ditampilkan oleh layanan, tambahkan parameter kueri filter ke URL permintaan list entities.

Mendapatkan entity

Secara default, respons Get Entity berisi metadata entitas dasar. Untuk mengambil metadata skema tambahan, tambahkan parameter kueri view ke URL permintaan.

Detail kompatibilitas: Meskipun metadata Katalog Universal Dataplex didaftarkan secara terpusat di metadata API, hanya metadata tabel entitas yang kompatibel dengan BigQuery dan Apache Hive Metastore yang dipublikasikan ke BigQuery dan Dataproc Metastore. API Get Entity menampilkan pesan CompatibilityStatus, yang menunjukkan apakah metadata tabel kompatibel dengan BigQuery dan Hive Metastore, dan jika tidak, alasan ketidakcocokan tersebut.

Memperbarui entity

Gunakan API ini untuk mengedit metadata entity, termasuk apakah Anda atau Katalog Universal Dataplex yang akan mengelola metadata entity.

  • API ini melakukan penggantian penuh semua kolom dapat diubah Entity. Kolom Entity berikut tidak dapat diubah, dan jika Anda menentukannya dalam permintaan pembaruan, kolom tersebut akan diabaikan:
  • Tentukan nilai untuk semua kolom Entitas yang dapat diubah, termasuk semua kolom skema, meskipun nilainya tidak diubah.
  • Berikan kolom etag. Anda dapat memperoleh etag dengan terlebih dahulu mengirimkan permintaan entities.get, yang menampilkan etag entity dalam respons.
  • Memperbarui kolom skema: Anda dapat memperbarui skema tabel yang ditemukan oleh Dataplex Universal Catalog untuk meningkatkan akurasinya:
    • Jika skema adalah fileset, biarkan semua kolom skema kosong.
    • Untuk menentukan kolom berulang, tetapkan mode ke REPEATED. Untuk menentukan kolom struct, tetapkan type ke RECORD.
    • Anda dapat menyetel kolom userManaged skema untuk menentukan apakah Anda atau Dataplex Universal Catalog yang mengelola metadata tabel. Setelan defaultnya adalah dikelola Dataplex Universal Catalog. Jika userManaged disetel ke benar (true), setelan ini disertakan dalam informasi yang ditampilkan dari permintaan entities.get jika EntityView disetel ke SCHEMA atau FULL.
  • Memperbarui kolom partisi:
    • Untuk data yang dipartisi gaya non-Hive, penemuan Katalog Universal Dataplex membuat kunci partisi secara otomatis. Misalnya, untuk jalur data gs://root/2020/12/31, kunci partisi p0, p1, dan p2 akan dibuat. Untuk membuat kueri lebih intuitif, Anda dapat memperbarui p0, p1, dan p2 menjadi year, month, dan day.
    • Jika Anda memperbarui gaya partisi menjadi gaya HIVE, kolom partisi tidak dapat diubah.
  • Memperbarui kolom metadata lainnya: Anda dapat memperbarui kolom mimeType, CompressionFormat, CsvOptions, dan JsonOptions yang dibuat otomatis untuk membantu penemuan Katalog Universal Dataplex. Penemuan Dataplex Universal Catalog akan menggunakan nilai baru pada proses berikutnya.

Buat entity

Gunakan entities.create API untuk membuat entity metadata tabel atau kumpulan file. Isi kolom wajib diisi dan kolom opsional yang relevan, atau biarkan layanan penemuan Dataplex Universal Catalog mengisi kolom opsional.

Menghapus entity

  • Berikan kolom etag. Anda dapat memperoleh etag dengan terlebih dahulu mengirimkan permintaan entities.get, yang menampilkan etag entity dalam respons.

Jika data pokok untuk tabel atau kumpulan file di zona mentah dihapus, metadata tabel atau kumpulan file akan otomatis dihapus saat pemindaian Penemuan berikutnya. Jika data pokok untuk tabel di zona yang dikurasi dihapus, metadata tabel tidak akan dihapus, tetapi tindakan data yang tidak ada akan dilaporkan. Untuk mengatasi masalah ini, hapus secara eksplisit entity metadata tabel melalui metadata API.

Partisi

Mencantumkan partisi

Untuk membatasi daftar partisi yang ditampilkan oleh layanan, tambahkan parameter kueri filter ke URL permintaan list partitions.

Contoh:

  • ?filter="Country=US AND State=CA AND City=Sunnyvale"
  • ?filter="year < 2000 AND month > 12 AND Date > 10"

Mendapatkan partisi

Untuk mendapatkan partisi, Anda harus melengkapi URL permintaan dengan menambahkan nilai kunci partisi di akhir URL, yang diformat agar terbaca sebagai partitions/value1/value2/…./value10.

Contoh: jika partisi memiliki nilai, {Country=US, State=CA, City=Sunnyvale}, URL permintaan get harus diakhiri dengan /partitions/US/CA/Sunnyvale.

Penting: Nilai URL yang ditambahkan harus dienkode ganda. Misalnya, url_encode(url_encode(value)) dapat digunakan untuk mengenkode "US:CA/CA#Sunnyvale" sehingga URL permintaan berakhir dengan /partitions/US%253ACA/CA%2523Sunnyvale. Kolom nama dalam respons mempertahankan format yang dienkode.

Buat partisi

Untuk membuat partisi yang disesuaikan untuk sumber data, gunakan API partitions.create. Tentukan kolom location yang diperlukan dengan jalur Cloud Storage.

Menghapus partisi

Lengkapi URL permintaan dengan menambahkan nilai kunci partisi ke bagian akhir URL permintaan, yang diformat agar terbaca sebagai partitions/value1/value2/…./value10.

Contoh: jika partisi memiliki nilai, {Country=US, State=CA, City=Sunnyvale}, URL permintaan harus diakhiri dengan /partitions/US/CA/Sunnyvale.

Penting: Nilai URL yang ditambahkan harus sesuai dengan RFC-1034 atau harus dienkode ganda, misalnya, US:/CA#/Sunnyvale sebagai US%3A/CA%3A/Sunnyvale.

Langkah berikutnya