Metadata dataplex

Panduan ini menjelaskan metadata Dataplex dan cara menggunakan Dataplex API untuk mengelolanya.

Ringkasan

Dataplex memindai hal berikut:

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

Anda dapat menggunakan Dataplex Metadata API untuk melakukan salah satu hal berikut:

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

Anda juga dapat menganalisis metadata Dataplex melalui salah satu cara berikut:

  • Data Catalog untuk penelusuran dan pemberian tag
  • Dataproc Metastore dan BigQuery untuk kueri metadata tabel dan pemrosesan analitik

API Dataplex

Bagian ini merangkum Dataplex API dan resource utama dengannya.

API bidang kontrol

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

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

  • Zona: Pengelompokan aset yang logis di dalam danau. Gunakan beberapa zona dalam suatu lake untuk mengatur data berdasarkan kesiapan, beban kerja, atau struktur organisasi.

  • Aset: Resource penyimpanan, dengan data yang disimpan di bucket Cloud Storage atau set data BigQuery, yang melekat pada zona dalam suatu lake.

API Metadata

Gunakan Dataplex Metadata API untuk membuat dan mengelola metadata dalam entity dan partisi tabel dan kumpulan file. Dataplex memindai aset data, baik di lake atau yang Anda sediakan, untuk membuat entity dan partisi. Entitas dan partisi mempertahankan referensi ke aset terkait dan lokasi penyimpanan fisik.

Konsep utama

Entity tabel:

Metadata untuk data terstruktur dengan skema yang ditentukan dengan baik. Entity tabel diidentifikasi secara unik berdasarkan ID entity dan lokasi data. Metadata entity 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.
Entity set file:

Metadata tentang data tidak terstruktur, biasanya tanpa skema. Kumpulan file diidentifikasi secara unik berdasarkan ID entitas dan lokasi data. Setiap kumpulan {i>file <i}memiliki format data.

Partisi:

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

Coba API

Gunakan halaman dokumentasi referensi API lakes.zones.entities dan lakes.zones.partitions Dataplex 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 parameter dan kolom yang berbeda. Anda dapat membuat, melihat, dan mengirimkan permintaan tanpa perlu menghasilkan kredensial, lalu melihat respons yang ditampilkan oleh layanan.

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

Entity

Mencantumkan entity

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

Mendapatkan entity

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

Detail kompatibilitas: Meskipun metadata Dataplex terdaftar secara terpusat di metadata API, hanya metadata tabel entity yang kompatibel dengan BigQuery dan Apache Hive Metastore yang dipublikasikan ke BigQuery dan Dataproc Metastore. Get Entity API menampilkan pesan CompatibilityStatus, yang menunjukkan apakah metadata tabel kompatibel dengan BigQuery dan Hive Metastore, dan jika tidak, penyebab inkompatibilitas tersebut.

Memperbarui entity

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

  • API ini melakukan penggantian penuh atas semua kolom Entity yang dapat diubah. Kolom Entity berikut tidak dapat diubah, dan jika Anda menentukannya dalam permintaan update, kolom tersebut akan diabaikan:
  • Tentukan nilai untuk semua kolom Entity yang dapat berubah, termasuk semua kolom schema, meskipun nilainya tidak diubah.
  • Berikan kolom etag. Anda bisa mendapatkan etag dengan mengirimkan permintaan entities.get terlebih dahulu, yang menampilkan etag entity dalam respons.
  • Memperbarui kolom skema: Anda dapat memperbarui skema tabel yang ditemukan oleh Dataplex untuk meningkatkan akurasinya:
    • Jika skema berupa kumpulan file, kosongkan semua kolom skema.
    • Untuk menentukan kolom berulang, tetapkan mode ke REPEATED. Untuk menentukan kolom struct, tetapkan type ke RECORD.
    • Anda dapat menetapkan kolom userManaged pada skema untuk menentukan apakah Anda atau Dataplex mengelola metadata tabel. Setelan defaultnya adalah Dataplex dikelola. Jika userManaged ditetapkan ke benar (true), setelan ini akan disertakan dalam informasi yang ditampilkan dari permintaan entities.get jika EntityView ditetapkan ke SCHEMA atau FULL.
  • Mengupdate kolom partisi:
    • Untuk data yang dipartisi bergaya non-Hive, penemuan Dataplex otomatis menghasilkan kunci partisi. Misalnya, untuk jalur data gs://root/2020/12/31, kunci partisi p0, p1, dan p2 akan dibuat. Agar proses kueri lebih intuitif, Anda dapat mengupdate p0, p1, dan p2 masing-masing ke 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, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFJJZ9ixDkxGJsonOptions Penemuan dataplex akan menggunakan nilai baru pada proses berikutnya. </a\>

Buat entity

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

Menghapus entity

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

Jika data pokok untuk tabel atau kumpulan file di zona mentah dihapus, tabel atau metadata kumpulan file akan otomatis dihapus pada pemindaian Discovery berikutnya. Jika data pokok untuk tabel di zona pilihan dihapus, metadata tabel tidak akan dihapus, tetapi tindakan data yang tidak ada akan dilaporkan. Untuk mengatasi masalah ini, hapus entity metadata tabel secara eksplisit 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 menyelesaikan URL permintaan dengan menambahkan nilai kunci partisi ke akhir URL, yang diformat untuk dibaca 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 dua kali. Misalnya, url_encode(url_encode(value)) dapat digunakan untuk mengenkode "US:CA/CA#Sunnyvale" sehingga URL permintaan diakhiri dengan /partitions/US%253ACA/CA%2523Sunnyvale. Kolom nama dalam respons mempertahankan format yang dienkode.

Buat partisi

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

Hapus partisi

Lengkapi URL permintaan dengan menambahkan nilai kunci partisi ke akhir URL permintaan, yang diformat untuk dibaca 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 dua kali, misalnya, US:/CA#/Sunnyvale sebagai US%3A/CA%3A/Sunnyvale.

Apa langkah selanjutnya?