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 keRECORD
. - 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. JikauserManaged
disetel ke benar (true), setelan ini disertakan dalam informasi yang ditampilkan dari permintaanentities.get
jika EntityView disetel keSCHEMA
atauFULL
.
- 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 partisip0
,p1
, danp2
akan dibuat. Untuk membuat kueri lebih intuitif, Anda dapat memperbaruip0
,p1
, danp2
menjadiyear
,month
, danday
. - Jika Anda memperbarui gaya partisi menjadi gaya HIVE, kolom partisi tidak dapat diubah.
- Untuk data yang dipartisi gaya non-Hive, penemuan Katalog Universal Dataplex
membuat kunci partisi secara otomatis. Misalnya, untuk jalur data
- 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
- Pelajari lebih lanjut cara mengakses metadata di Apache Spark.