Menelusuri aset data dengan Data Catalog

Dokumen ini menjelaskan cara menggunakan Data Catalog untuk menelusuri aset data.

Anda dapat menelusuri aset data berikut:

  • Set data tertaut Analytics Hub
  • Set data, tabel, tampilan, dan model BigQuery
  • Instance, cluster, dan tabel Bigtable (termasuk detail grup kolom)
  • Template tag, grup entri, dan entri kustom Data Catalog
  • Data lake, zona, tabel, dan set file Dataplex
  • Layanan, database, dan tabel Dataproc Metastore
  • Streaming data Pub/Sub
  • Instance, database, tabel, dan tampilan Spanner
  • Model Vertex AI, Set Data, dan resource Vertex AI Feature Store
  • Aset dalam silo data perusahaan yang terhubung ke Data Catalog

Cakupan penelusuran

Anda mungkin memiliki hasil penelusuran yang berbeda berdasarkan izin Anda. Cakupan hasil penelusuran Data Catalog sesuai dengan peran Anda.

Anda dapat meninjau berbagai jenis peran dan izin IAM yang tersedia untuk Data Catalog. Misalnya, jika Anda memiliki akses baca metadata BigQuery ke objek, objek tersebut akan muncul di hasil penelusuran Data Catalog.

Daftar berikut menjelaskan izin minimum yang diperlukan untuk melakukan penelusuran:

  • Untuk menelusuri tabel, Anda memerlukan izin bigquery.tables.get untuk tabel tersebut.

  • Untuk menelusuri set data, Anda memerlukan izin bigquery.datasets.get untuk set data tersebut.

  • Untuk menelusuri metadata set data atau tabel, Anda memerlukan peran IAM roles/bigquery.metadataViewer.

  • Untuk menelusuri semua resource dalam project atau organisasi, Anda memerlukan izin datacatalog.catalogs.searchAll. Fitur ini berfungsi untuk semua resource terlepas dari sistem sumber.

Jika Anda memiliki akses ke tabel BigQuery, tetapi tidak ke set data yang berisi tabel tersebut, tabel akan tetap muncul seperti yang diharapkan dalam penelusuran Data Catalog. Logika akses yang sama berlaku untuk semua sistem yang didukung, seperti Pub/Sub dan Data Catalog itu sendiri.

Kueri penelusuran Katalog Data tidak menjamin recall penuh. Hasil yang cocok dengan kueri Anda mungkin tidak ditampilkan, bahkan di halaman hasil berikutnya. Selain itu, jika Anda mengulangi kueri penelusuran, hasil yang ditampilkan (dan tidak ditampilkan) dapat bervariasi.

Jika Anda mengalami masalah recall dan tidak perlu mengambil hasil dalam urutan tertentu, pertimbangkan untuk menetapkan parameter orderBy ke default saat memanggil metode catalog.search.

Menggunakan flag admin_search

Penggunaan flag admin_search pada permintaan penelusuran memastikan recall penuh. Penelusuran administrator memerlukan izin datacatalog.catalogs.searchAll untuk ditetapkan di semua project dan organisasi dalam cakupan penelusuran. Saat menggunakan admin_search, hanya default orderBy yang diizinkan.

Tabel dengan sharding tanggal

Data Catalog menggabungkan tabel yang di-shard berdasarkan tanggal ke dalam satu entri logis. Entri ini memiliki skema yang sama dengan shard tabel dengan tanggal terbaru, dan berisi informasi gabungan tentang jumlah total shard. Entri memperoleh tingkat aksesnya dari set data tempat entri tersebut berada. Penelusuran Data Catalog hanya menampilkan entri logis ini jika pengguna memiliki akses ke set data yang berisinya. Setiap tabel yang di-shard berdasarkan tanggal tidak terlihat di penelusuran Data Catalog, meskipun tabel tersebut ada di Data Catalog dan dapat diberi tag.

Filter

Filter memungkinkan Anda mempersempit hasil penelusuran. Semua filter dikelompokkan dalam beberapa bagian:

  • Cakupan untuk membatasi penelusuran hanya pada item berbintang.
  • Sistem seperti BigQuery, Pub/Sub, Dataplex, Dataproc Metastore, sistem kustom, Vertex AI, dan Data Catalog itu sendiri. Sistem Data Catalog berisi set file dan entri kustom.
  • Data lake dan zona berasal dari Dataplex.
  • Jenis data seperti aliran data, set data, data lake, zona, set file, model, tabel, tampilan, layanan, database, dan jenis kustom.
  • Project mencantumkan semua project yang tersedia untuk Anda.
  • Tag mencantumkan semua template tag (dan setiap kolomnya) yang tersedia untuk Anda.
  • Set data berasal dari BigQuery dan Vertex AI.
  • Set data publik adalah data yang tersedia untuk publik dari BigQuery.

Anda dapat menggabungkan filter dari beberapa bagian untuk menemukan aset yang cocok dengan setidaknya satu kondisi dari setiap bagian yang dipilih. Beberapa filter yang dipilih dalam satu bagian dievaluasi menggunakan operator logika OR. Misalnya, pertimbangkan kombinasi filter berikut:

Contoh yang menunjukkan cara menggabungkan filter dari beberapa bagian.
Panel filter nilai tag dengan beberapa bagian dipilih.

Data Catalog mencari hal berikut:

  • Set data BigQuery yang diberi tag dengan template MyTemplate1.

  • Set data BigQuery yang diberi tag dengan template MyTemplate2.

  • Tabel BigQuery yang diberi tag dengan template MyTemplate1.

  • Tabel BigQuery yang diberi tag dengan template MyTemplate2.

Memfilter berdasarkan nilai tag

Filter Tag memungkinkan Anda membuat kueri untuk aset yang diberi tag menggunakan template tertentu. Anda dapat menggunakan menu Customize untuk menyaring hasil dan memfilter menurut nilai tag tertentu lebih lanjut. Kondisi filter nilai tag bergantung pada jenis data kolom tag tersebut. Misalnya, untuk kolom tanggal dan waktu serta angka, Anda dapat menentukan tanggal atau rentang tertentu.

Visibilitas filter

Filter yang ditampilkan di setiap bagian bergantung pada kueri saat ini di kotak Telusuri. Seluruh kumpulan hasil penelusuran mungkin menyertakan entri yang cocok dengan kueri saat ini, tetapi filter yang sesuai dengan entri tersebut mungkin tidak ditampilkan di panel Filter.

Menelusuri aset data

Konsol

Konsol

  1. Di konsol Google Cloud, buka halaman Penelusuran Dataplex.

    Buka Penelusuran Dataplex

  2. Untuk Pilih platform penelusuran, pilih Data Catalog sebagai mode penelusuran.

  3. Di kolom penelusuran, masukkan kueri Anda atau gunakan panel Filter untuk menyaring parameter penelusuran.

    Anda dapat menambahkan filter berikut secara manual:

    • Di Project, tambahkan filter project. Klik Tambahkan project, telusuri dan pilih project tertentu, lalu klik Buka.
    • Di Tag, tambahkan filter template tag. Klik menu Tambahkan template tag lainnya, telusuri dan pilih template tertentu, lalu klik Oke.

    Untuk menelusuri aset data yang tersedia secara publik di Google Cloud selain aset yang tersedia untuk Anda, pilih Sertakan set data publik

Selain itu, Anda dapat melakukan hal berikut:

  • Filter penelusuran dengan menambahkan keyword:value ke istilah penelusuran Anda di kolom penelusuran:

    Kata kunciDeskripsi
    name: Mencocokkan nama aset data
    column: Mencocokkan nama kolom atau nama kolom bertingkat
    description: Deskripsi tabel pencocokan

  • Lakukan penelusuran tag dengan menambahkan salah satu awalan kata kunci tag berikut ke istilah penelusuran Anda di kolom penelusuran:

    TagDeskripsi
    tag:project-name.tag_template_name Mencocokkan nama tag
    tag:project-name.tag_template_name.key Mencocokkan kunci tag
    tag:project-name.tag_template_name.key:value Mencocokkan pasangan tag key:string value

Tips ekspresi penelusuran

  • Sertakan ekspresi penelusuran Anda dalam tanda kutip ("search terms") jika berisi spasi.

  • Anda dapat menambahkan "NOT" (semua huruf BESAR diperlukan) di awal kata kunci untuk mencocokkan negasi logis filter keyword:term. Anda juga dapat menggunakan operator boolean "AND" dan "OR" (harus menggunakan huruf BESAR) untuk menggabungkan ekspresi penelusuran.

    Misalnya:NOT column:term mencantumkan semua kolom kecuali yang cocok dengan istilah yang ditentukan. Untuk mengetahui daftar kata kunci dan istilah lain yang dapat Anda gunakan dalam ekspresi penelusuran Data Catalog, lihat Sintaksis penelusuran Data Catalog.

Contoh penelusuran

Pertimbangkan contoh saat Anda ingin menelusuri tabel trips yang Anda siapkan di Memberi tag pada tabel BigQuery menggunakan Data Catalog:

  1. Di kolom penelusuran, masukkan trips, lalu klik Telusuri.
  2. Di panel Filters, pilih hal berikut:

    • Di bagian Sistem, pilih BigQuery untuk mengecualikan aset data dengan nama yang sama yang dimiliki oleh sistem lain.
    • Di bagian Projects, pilih project ID Anda untuk mengecualikan aset data dari project lain. Jika project Anda tidak ditampilkan, klik Add project dan pilih project Anda.
    • Di bagian Tags, pilih Demo Tag Template untuk memeriksa apakah tag yang menggunakan template ini dilampirkan ke tabel trips. Jika template ini tidak ditampilkan, klik Tambahkan template tag lainnya, telusuri dan pilih template tag, lalu klik Oke.

Dengan semua filter yang dipilih, hasil penelusuran hanya berisi satu entri—tabel trips BigQuery dalam project Anda dengan tag terlampir yang menggunakan template Demo Tag Template.

Java

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Java di panduan memulai Data Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Java Katalog Data.

Untuk melakukan autentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

import com.google.cloud.datacatalog.v1.DataCatalogClient;
import com.google.cloud.datacatalog.v1.DataCatalogClient.SearchCatalogPagedResponse;
import com.google.cloud.datacatalog.v1.SearchCatalogRequest;
import com.google.cloud.datacatalog.v1.SearchCatalogRequest.Scope;
import com.google.cloud.datacatalog.v1.SearchCatalogResult;
import java.io.IOException;

// Sample to search catalog
public class SearchAssets {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String query = "type=dataset";
    searchCatalog(projectId, query);
  }

  public static void searchCatalog(String projectId, String query) throws IOException {
    // Create a scope object setting search boundaries to the given organization.
    // Scope scope = Scope.newBuilder().addIncludeOrgIds(orgId).build();

    // Alternatively, search using project scopes.
    Scope scope = Scope.newBuilder().addIncludeProjectIds(projectId).build();

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (DataCatalogClient dataCatalogClient = DataCatalogClient.create()) {
      // Search the catalog.
      SearchCatalogRequest searchCatalogRequest =
          SearchCatalogRequest.newBuilder().setScope(scope).setQuery(query).build();
      SearchCatalogPagedResponse response = dataCatalogClient.searchCatalog(searchCatalogRequest);

      System.out.println("Search results:");
      for (SearchCatalogResult result : response.iterateAll()) {
        System.out.println(result);
      }
    }
  }
}

Node.js

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Node.js di panduan memulai Data Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Node.js Katalog Data.

Untuk melakukan autentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

// Import the Google Cloud client library.
const {DataCatalogClient} = require('@google-cloud/datacatalog').v1;
const datacatalog = new DataCatalogClient();

async function searchAssets() {
  // Search data assets.

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const projectId = 'my_project'; // Google Cloud Platform project

  // Set custom query.
  const query = 'type=lake';

  // Create request.
  const scope = {
    includeProjectIds: [projectId],
    // Alternatively, search using Google Cloud Organization scopes.
    // includeOrgIds: [organizationId],
  };

  const request = {
    scope: scope,
    query: query,
  };

  const [result] = await datacatalog.searchCatalog(request);

  console.log(`Found ${result.length} datasets in project ${projectId}.`);
  console.log('Datasets:');
  result.forEach(dataset => {
    console.log(dataset.relativeResourceName);
  });
}
searchAssets();

Python

Sebelum mencoba contoh ini, ikuti petunjuk penyiapan Python di panduan memulai Data Catalog menggunakan library klien. Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi API Python Katalog Data.

Untuk melakukan autentikasi ke Data Catalog, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.

from google.cloud import datacatalog_v1

datacatalog = datacatalog_v1.DataCatalogClient()

# TODO: Set these values before running the sample.
project_id = "project_id"

# Set custom query.
search_string = "type=dataset"
scope = datacatalog_v1.types.SearchCatalogRequest.Scope()
scope.include_project_ids.append(project_id)

# Alternatively, search using organization scopes.
# scope.include_org_ids.append("my_organization_id")

search_results = datacatalog.search_catalog(scope=scope, query=search_string)

print("Results in project:")
for result in search_results:
    print(result)

REST & CMD LINE

REST

Jika Anda tidak memiliki akses ke library Klien Cloud untuk bahasa Anda atau ingin menguji API menggunakan permintaan REST, lihat contoh berikut dan lihat dokumentasi Data Catalog REST API.

1. Telusuri katalog.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • organization-id: ID organisasi GCP
  • project-id: Project ID GCP

Metode HTTP dan URL:

POST https://datacatalog.googleapis.com/v1/catalog:search

Meminta isi JSON:

{
  "query":"trips",
  "scope":{
    "includeOrgIds":[
      "organization-id"
    ]
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "results":[
    {
      "searchResultType":"ENTRY",
      "searchResultSubtype":"entry.table",
"relativeResourceName":"projects/project-id/locations/US/entryGroups/@bigquery/entries/entry1-id",
      "linkedResource":"//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/taxi_trips"
    },
    {
      "searchResultType":"ENTRY",
      "searchResultSubtype":"entry.table",
      "relativeResourceName":"projects/project-id/locations/US/entryGroups/@bigquery/entries/entry2-id",
      "linkedResource":"//bigquery.googleapis.com/projects/project-id/datasets/demo_dataset/tables/tlc_yellow_trips_2018"
    }
  ]
}

Melihat detail tabel

Gunakan Data Catalog untuk melihat detail tabel.

  1. Di konsol Google Cloud, buka halaman Penelusuran Dataplex.

    Buka Penelusuran Katalog Data

  2. Untuk Pilih platform penelusuran, pilih Data Catalog sebagai mode penelusuran.

  3. Di kotak penelusuran, masukkan nama set data yang memiliki tabel.

    Misalnya, jika Anda telah menyelesaikan panduan memulai Memberi tag pada tabel BigQuery menggunakan Data Catalog, Anda dapat menelusuri demo-dataset dan memilih tabel trips.

  4. Klik tabel.

    Halaman detail tabel BigQuery akan terbuka.

Detail tabel mencakup bagian berikut:

  • Detail tabel BigQuery. Mencakup informasi seperti waktu pembuatan, waktu perubahan terakhir, waktu habis masa berlaku, URL resource, dan label.

  • Tag. Mencantumkan tag yang diterapkan.Anda dapat mengedit tag dari halaman ini dan melihat template tag. Klik ikon Actions.

  • Tag skema dan kolom. Mencantumkan skema yang diterapkan dan nilainya.

Memberi bintang pada entri favorit dan menelusurinya

Jika sering menjelajahi aset data yang sama, Anda dapat menyertakan entrinya dalam daftar yang dipersonalisasi dengan menandainya dengan bintang.

  1. Di konsol Google Cloud, buka halaman Penelusuran Dataplex.

    Buka Penelusuran Katalog Data

  2. Untuk Pilih platform penelusuran, pilih Data Catalog sebagai mode penelusuran.

  3. Temukan aset Anda, lalu beri bintang entrinya dengan salah satu dari dua cara berikut:

    • Klik di samping entri di hasil penelusuran.
    • Klik nama entri untuk membuka halaman detailnya, lalu klik STAR di panel tindakan di bagian atas.

Anda dapat membintangi hingga 200 entri.

Entri berbintang muncul dalam daftar Entri Berbintang di halaman penelusuran sebelum Anda memasukkan kueri penelusuran di kotak penelusuran. Daftar ini hanya dapat dilihat oleh Anda.

Untuk menelusuri hanya entri yang diberi bintang, di panel Filter, di bagian Cakupan, pilih Dibintangi.

Anda juga dapat menggunakan metode terkait Data Catalog API untuk memberi bintang dan menghapus bintang entri. Saat menelusuri aset, gunakan parameter starredOnly dalam objek scope. Untuk mengetahui informasi selengkapnya, lihat metode catalog.search.

Langkah selanjutnya