Data Discover

Panduan ini menjelaskan cara mengaktifkan dan menggunakan Penemuan Katalog Universal Dataplex. Discovery memindai dan mengekstrak metadata dari data di data lake dan mendaftarkannya ke Dataproc Metastore, BigQuery, dan Data Catalog (Tidak digunakan lagi) untuk analisis, penelusuran, dan eksplorasi.

Untuk mengetahui informasi selengkapnya tentang cara menggunakan penemuan otomatis untuk mengekstrak dan kemudian membuat katalog data Cloud Storage yang tidak terlampir ke lake, lihat Menemukan dan membuat katalog data Cloud Storage.

Ringkasan

Untuk setiap aset Dataplex Universal Catalog yang mengaktifkan Penemuan, Dataplex Universal Catalog akan melakukan hal berikut:

  • Memindai data yang terkait dengan aset.
  • Mengelompokkan file terstruktur dan semi-terstruktur ke dalam tabel.
  • Mengumpulkan metadata teknis, seperti nama tabel, skema, dan definisi partisi.

Untuk data tidak terstruktur, seperti gambar dan video, Penemuan Dataplex Universal Catalog secara otomatis mendeteksi dan mendaftarkan grup file yang berbagi jenis media sebagai kumpulan file. Misalnya, jika gs://images/group1 berisi gambar GIF, dan gs://images/group2 berisi gambar JPEG, Penemuan Dataplex Universal Catalog mendeteksi dan mendaftarkan dua kumpulan file. Untuk data terstruktur, seperti Avro, Discovery mendeteksi file hanya jika file tersebut berada di folder yang berisi format dan skema data yang sama.

Tabel dan kumpulan file yang ditemukan didaftarkan di Data Catalog untuk penelusuran dan penemuan. Tabel muncul di Dataproc Metastore sebagai tabel gaya Hive, dan di BigQuery sebagai tabel eksternal, sehingga data otomatis tersedia untuk dianalisis.

Penemuan mendukung format data terstruktur dan semi-terstruktur berikut:

Discovery mendukung format kompresi berikut untuk data terstruktur dan semi-terstruktur:

  • Kompresi internal untuk format ini:

    Kompresi Contoh ekstensi file Format yang didukung
    gzip .gz.parquet Parquet
    lz4 .lz4.parquet Parquet
    Cepat .snappy.parquet Parquet, ORC, Avro
    lzo .lzo.parquet Parquet, ORC
  • Kompresi eksternal untuk file JSON dan CSV:

    • gzip
    • bzip2

Konfigurasi penemuan

Penemuan diaktifkan secara default saat Anda membuat zona atau aset baru. Anda dapat menonaktifkan Penemuan di tingkat zona atau aset.

Saat membuat zona atau aset, Anda dapat memilih untuk mewarisi setelan Penemuan di tingkat zona, atau mengganti setelan Penemuan di tingkat aset.

Berikut adalah opsi konfigurasi Penemuan yang tersedia di tingkat zona dan aset:

  • Penemuan aktif dan nonaktif

  • Jadwal penemuan: Opsi ini dapat disetel ke jadwal yang telah ditentukan sebelumnya—misalnya, per jam atau harian, atau jadwal kustom yang ditentukan oleh format cron. Aset baru dipindai saat ditambahkan. Untuk informasi selengkapnya, lihat Mengonfigurasi jadwal cron. Direkomendasikan: Jadwalkan kampanye Discovery agar berjalan setiap jam atau lebih jarang.

  • Pola sertakan atau kecualikan: Tentukan file mana yang akan disertakan atau dikecualikan dari pemindaian Penemuan, dengan menggunakan pola glob di jalur sertakan atau kecualikan. Misalnya, jika Anda ingin mengecualikan gs://test_bucket/foo/.. dari penemuan, masukkan **/foo/* sebagai jalur pengecualian. Tanda petik menyebabkan error. Pastikan untuk memasukkan **/foo/*, bukan "**/foo/*".) Fungsi ini hanya tersedia untuk aset Cloud Storage. Jika pola sertakan dan kecualikan ada secara bersamaan, pola kecualikan akan diterapkan terlebih dahulu.

  • Spesifikasi JSON atau CSV: Memungkinkan Anda memberikan informasi tambahan tentang data semi-terstruktur, seperti CSV dan JSON, untuk meningkatkan akurasi hasil Penemuan.

    • Untuk file CSV, Anda dapat memberikan salah satu hal berikut:

      • Pemisah: Kolom ini menerima satu karakter, kecuali \r dan \n. Jika lebih dari satu karakter diberikan, hanya karakter pertama dari string yang digunakan. Jika tidak diberikan, Discovery akan menggunakan koma sebagai pembatas.

      • Jumlah baris header: Kolom ini menerima nilai 0 atau 1. Nilai defaultnya adalah 0. Jika nilainya adalah 0, Discovery akan melakukan inferensi header, dan jika header terdeteksi, Discovery akan mengekstrak nama kolom dari header dan mereset nilai ke 1.

      • Encoding: Kolom ini menerima nama encoding string, seperti UTF-8, US-ASCII, atau ISO-8859-1. Jika tidak ada yang ditentukan, UTF-8 akan digunakan sebagai default.

      • Nonaktifkan inferensi jenis: Kolom ini menerima nilai Boolean. Setelan ini ditetapkan ke false secara default. Untuk data CSV, jika Anda menonaktifkan inferensi jenis, semua kolom akan didaftarkan sebagai string.

    • Untuk file JSON, Anda dapat memberikan salah satu hal berikut:

      • Encoding: Kolom ini menerima nama encoding string, seperti UTF-8, US-ASCII, atau ISO-8859-1. Jika tidak ada yang ditentukan, UTF-8 akan digunakan sebagai default.

      • Nonaktifkan inferensi jenis data: Kolom ini menerima nilai Boolean. Setelan ini ditetapkan ke false secara default. Untuk data JSON, jika Anda menonaktifkan inferensi jenis, semua kolom akan didaftarkan sebagai jenis primitifnya (string, angka, atau boolean).

Memublikasikan metadata

Saat Anda membuat zona data di data lake Dataplex Universal Catalog, Dataplex Universal Catalog akan membuat set data BigQuery di project yang berisi data lake tersebut. Dataplex Universal Catalog memublikasikan tabel ke dalam set data tersebut untuk tabel yang ditemukan di bucket Cloud Storage yang ditambahkan ke zona data sebagai aset. Set data ini disebut sebagai set data publikasi metadata yang sesuai dengan zona.

Setiap zona data Dataplex Universal Catalog dipetakan ke set data di BigQuery atau database di Dataproc Metastore, tempat informasi metadata tersedia secara otomatis.

Anda dapat mengedit metadata yang ditemukan secara otomatis, seperti nama atau skema tabel, menggunakan Dataplex API.

Melihat tabel dan kumpulan file yang ditemukan

Anda dapat menelusuri tabel dan kumpulan file yang ditemukan di tampilan Penelusuran Dataplex Universal Catalog di konsol Google Cloud .

Buka Penelusuran

Untuk hasil penelusuran yang lebih akurat, gunakan filter khusus Dataplex Universal Catalog, seperti nama data lake dan zona data. 50 item teratas per faset ditampilkan di daftar filter. Anda dapat menemukan item tambahan menggunakan kotak penelusuran.

Setiap entri berisi metadata teknis dan operasional yang mendetail.

Dari halaman detail entri, Anda dapat membuat kueri tabel di BigQuery dan melihat detail pendaftaran Dataproc Metastore yang sesuai.

Jika tabel Cloud Storage dapat dipublikasikan ke BigQuery sebagai tabel eksternal, Anda dapat melihat hal berikut di tampilan detail entri:

  • Referensi tabel eksternal BigQuery
  • Tombol Buka di BigQuery untuk mulai menganalisis data di BigQuery

Entri metadata Dataplex Universal Catalog dapat dilihat dan dicari secara langsung di Data Catalog. Untuk mempelajari lebih lanjut, lihat Referensi penelusuran Data Catalog.

Semua entri yang ditemukan dapat dilihat melalui Dataplex API.

Tindakan penemuan

Penemuan memunculkan tindakan administrator berikut setiap kali masalah terkait data terdeteksi selama pemindaian.

Format data tidak valid

Tindakan mencakup hal-hal berikut:

  • Format data tidak konsisten dalam tabel. Misalnya, file dengan format berbeda ada dengan awalan tabel yang sama.

  • Format data tidak valid di zona yang dikurasi (data tidak dalam format Avro, Parquet, atau ORC).

Skema tidak kompatibel

Tindakan mencakup hal-hal berikut:

  • Skema yang terdeteksi oleh Penemuan tidak kompatibel dengan skema tabel aktif di metadata API di Dataproc Metastore. Skema A dan skema B tidak kompatibel dalam skenario berikut:

    • A dan B berbagi kolom dengan nama yang sama, tetapi jenis datanya berbeda dan tidak kompatibel. Misalnya, string dan bilangan bulat.

    • A dan B tidak memiliki kolom yang tumpang-tindih.

    • A dan B memiliki setidaknya satu kolom yang tidak boleh null yang tidak ditemukan dalam skema lainnya.

  • Perubahan skema terhadap skema yang dikelola pengguna di zona yang dikurasi.

Definisi partisi tidak valid

Tindakan mencakup hal-hal berikut:

  • Penamaan partisi tidak konsisten. Misalnya, gs://sales_data/year=2020/month=10/day=01 dan gs://sales_data/year=2020/region=us.

  • Penamaan partisi gaya non-Hive di zona data yang dikurasi. Misalnya, gs://sales_data/2020/10/01, bukan gs://sales_data/year=2020/month=10/day=01.

Data tidak ada

Tindakan mencakup hal-hal berikut:

  • Di zona data yang dikurasi, data pokok untuk tabel atau kumpulan file yang terdaftar tidak ada lagi. Dengan kata lain, tabel atau kumpulan file zona yang dikurasi telah ditemukan dan didaftarkan, tetapi kemudian data pokoknya dihapus. Anda dapat memperbaiki masalah ini dengan mengisi ulang data atau menghapus entri metadata.

Menyelesaikan tindakan Discovery

Data dengan tindakan diperiksa oleh pemindaian Penemuan berikutnya. Setelah masalah yang memicu tindakan diperbaiki, tindakan akan diselesaikan secara otomatis oleh pemindaian Penemuan terjadwal berikutnya.

Tindakan Penemuan lainnya

Selain tindakan Penemuan sebelumnya, ada tiga jenis tindakan lain yang terkait dengan status resource dan penyebarluasan kebijakan keamanan di Dataplex Universal Catalog.

  • Resource tidak ada: Bucket atau set data pokok tidak ditemukan yang sesuai dengan aset yang ada.

  • Resource tidak sah: Dataplex Universal Catalog tidak memiliki izin yang memadai untuk melakukan Penemuan atau menerapkan kebijakan keamanan ke bucket atau set data yang dikelola oleh Dataplex Universal Catalog

  • Masalah pada penyebarluasan kebijakan keamanan: Kebijakan keamanan yang ditentukan untuk lake, zona, atau aset tertentu tidak dapat disebarluaskan dengan berhasil ke bucket atau set data yang mendasarinya. Meskipun semua tindakan lainnya berada di tingkat aset, jenis tindakan ini dapat dilakukan di tingkat lake, zona, dan aset.

Jenis tindakan ini diselesaikan secara otomatis saat masalah konfigurasi keamanan atau resource yang mendasarinya diperbaiki.

FAQ

Apa yang harus saya lakukan jika skema yang disimpulkan oleh Penemuan salah?

Jika skema yang disimpulkan berbeda dari yang diharapkan untuk tabel tertentu, Anda dapat mengganti skema yang disimpulkan dengan memperbarui metadata menggunakan metadata API. Pastikan untuk menyetel userManaged ke true agar hasil edit Anda tidak ditimpa dalam pemindaian Penemuan berikutnya.

Bagaimana cara mengecualikan file dari pemindaian Penemuan?

Secara default, Discovery mengecualikan jenis file tertentu dari pemindaian, termasuk yang berikut:

  • _SUCCESS
  • _started
  • _committed
  • _metadata, _METADATA, _Metadata
  • _common_metadata, _COMMON_METADATA
  • File yang diawali dengan README atau readme
  • Direktori yang diawali dengan base_, delta_, delete_delta_, bucket_, diikuti dengan angka
  • Direktori yang dimulai dengan .

Anda dapat menentukan pola penyertaan atau pengecualian tambahan menggunakan konfigurasi Penemuan di tingkat zona atau aset, atau menggunakan metadata API.

Apa yang harus saya lakukan jika pengelompokan tabel yang terdeteksi oleh Penemuan terlalu terperinci?

Jika tabel yang terdeteksi oleh Penemuan berada di tingkat yang lebih terperinci dibandingkan dengan jalur root tabel—misalnya, setiap partisi individual terdaftar sebagai tabel, maka ada beberapa kemungkinan alasan:

  • Ada perbedaan format, seperti campuran file Avro dan Parquet, di jalur root tabel yang diharapkan, yang membagi tabel menjadi pengelompokan yang lebih kecil.

  • Ada berbagai jenis ketidakcocokan skema di jalur root tabel yang diharapkan, yang membagi tabel menjadi pengelompokan yang lebih kecil.

Anda dapat mengatasi masalah ini dengan salah satu cara berikut:

  • Perbaiki perbedaan format atau skema sehingga semua file di jalur root tabel yang sama memiliki format yang konsisten dan skema yang kompatibel.

  • Mengecualikan file heterogen dengan menggunakan konfigurasi pola pengecualian sebagai bagian dari konfigurasi zona / aset atau metadata API.

Setelah Anda melakukan salah satu langkah perbaikan, pada pemindaian Penemuan berikutnya, hal berikut akan terjadi:

  • Tabel tingkat bawah yang ada akan otomatis dihapus dari Dataplex API, BigQuery, Dataproc Metastore, dan Data Catalog.
  • Tabel tingkat yang lebih tinggi baru dengan jalur root tabel yang diharapkan akan dibuat.

Bagaimana cara menentukan nama tabel?

Anda dapat menentukan nama tabel menggunakan metadata API.

Apa yang terjadi jika saya membuat tabel secara manual di Dataproc Metastore atau BigQuery?

Jika Penemuan diaktifkan untuk aset tertentu, Anda tidak perlu mendaftarkan entri secara manual di Dataproc Metastore atau BigQuery.

Anda dapat menentukan nama tabel, skema, dan definisi partisi secara manual, sekaligus menonaktifkan Penemuan Dataplex Universal Catalog. Atau, lakukan hal berikut:

  1. Buat tabel hanya dengan menentukan informasi yang diperlukan, seperti jalur root tabel.
  2. Gunakan Penemuan Katalog Universal Dataplex untuk mengisi metadata lainnya, seperti definisi skema dan partisi.
  3. Selalu perbarui metadata.

Apa yang harus saya lakukan jika tabel saya tidak muncul di BigQuery?

Meskipun metadata Katalog Universal Dataplex semuanya didaftarkan secara terpusat di Metadata API, hanya tabel Cloud Storage yang kompatibel dengan BigQuery yang dipublikasikan ke BigQuery sebagai tabel eksternal. Sebagai bagian dari detail entri tabel di Metadata API, Anda dapat menemukan penanda kompatibilitas BigQuery yang menunjukkan entitas mana yang dipublikasikan ke BigQuery dan alasannya.

Batasan

  • Tabel eksternal, termasuk tabel eksternal BigLake, tidak didukung oleh Discovery. Namun, tabel eksternal otomatis di-ingest ke Dataplex Universal Catalog dan Anda dapat mencarinya di Dataplex Universal Catalog.

Langkah berikutnya