Cercare e visualizzare gli asset di dati con Data Catalog

Questo documento spiega come utilizzare Data Catalog per eseguire una ricerca di asset di dati, ad esempio:

  • Set di dati collegati ad Analytics Hub
  • Set di dati, tabelle, viste e modelli BigQuery
  • Istanze, cluster e tabelle Bigtable (inclusi i dettagli famiglia di colonne)
  • Modelli di tag, gruppi di voci e voci personalizzate di Data Catalog
  • Lake, zone, tabelle e set di file Dataplex
  • Servizi, database e tabelle Dataproc Metastore
  • Stream di dati Pub/Sub
  • Le istanze, i database, le tabelle e le viste Spanner
  • Risorse per modelli, set di dati e Vertex AI Feature Store di Vertex AI
  • Asset in silos di dati aziendali collegati a Data Catalog

Ambito della ricerca

Potrebbero essere visualizzati risultati di ricerca diversi in base alle tue autorizzazioni. L'ambito dei risultati di ricerca di Data Catalog dipende dal tuo ruolo.

Puoi esaminare i diversi tipi di ruoli e autorizzazioni IAM disponibili per Data Catalog.

Ad esempio, se disponi dell'accesso in lettura ai metadati BigQuery per un oggetto, quest'ultimo viene visualizzato nei risultati di ricerca di Data Catalog. Nell'elenco seguente vengono descritte le autorizzazioni minime richieste:

  • Per cercare una tabella, devi disporre dell'autorizzazione bigquery.tables.get per la tabella.

  • Per cercare un set di dati, devi disporre dell'autorizzazione bigquery.datasets.get per il set di dati.

  • Per cercare metadati per un set di dati o una tabella, devi disporre del ruolo roles/bigquery.metadataViewer.

  • Per cercare tutte le risorse all'interno di un progetto o di un'organizzazione, devi disporre dell'autorizzazione datacatalog.catalogs.searchAll. Funziona per tutte le risorse, indipendentemente dal sistema di origine.

Se hai accesso a una tabella BigQuery, ma non al set di dati che la contiene, la tabella viene comunque visualizzata come previsto nella ricerca di Data Catalog. La stessa logica di accesso si applica a tutti i sistemi supportati, come Pub/Sub e Data Catalog stessi.

Le query di ricerca di Data Catalog non garantiscono il richiamo completo. I risultati che corrispondono alla tua query potrebbero non essere restituiti, anche nelle pagine dei risultati successive. Inoltre, i risultati restituiti (e non restituiti) possono variare se ripeti le query di ricerca.

Se riscontri problemi di richiamo e non devi recuperare i risultati in un ordine specifico, ti consigliamo di impostare il parametro orderBy su default quando chiami il metodo catalog.search.

Usa il flag admin_search

L'uso del flag admin_search sulla richiesta di ricerca garantisce il richiamo completo. La ricerca con amministratore richiede la configurazione dell'autorizzazione datacatalog.catalogs.searchAll per tutti i progetti e le organizzazioni nell'ambito di ricerca. Quando utilizzi admin_search, è consentito solo default orderBy.

Tabelle con frazioni di data

Data Catalog aggrega le tabelle suddivise in base alle date in un'unica voce logica. Questa voce ha lo stesso schema dello shard della tabella con la data più recente e contiene informazioni aggregate sul numero totale di shard. La voce deriva il suo livello di accesso dal set di dati a cui appartiene. La ricerca di Data Catalog mostra queste voci logiche solo se l'utente ha accesso al set di dati che le contiene. Le singole tabelle con sharding non sono visibili nella ricerca di Data Catalog, anche se sono presenti in Data Catalog e possono essere codificate.

Filtri

I filtri ti consentono di restringere i risultati di ricerca. Tutti i filtri sono raggruppati in sezioni:

  • Ambito per limitare la ricerca solo agli elementi speciali.
  • Sistemi come BigQuery, Pub/Sub, Dataplex, Dataproc Metastore, sistemi personalizzati, Vertex AI e lo stesso Data Catalog. Il sistema Data Catalog contiene set di file e voci personalizzate.
  • I laghi e le zone provengono da Dataplex.
  • Tipi di dati come stream di dati, set di dati, lake, zone, set di file, modelli, tabelle, viste, servizi, database e tipi personalizzati.
  • In Progetti sono elencati tutti i progetti disponibili per te.
  • Tag elenca tutti i modelli di tag (e i relativi singoli campi) disponibili.
  • I set di dati provengono da BigQuery e Vertex AI.
  • I set di dati pubblici sono dati disponibili pubblicamente provenienti da BigQuery.

Puoi combinare i filtri di più sezioni per trovare le risorse che soddisfano almeno una condizione in ogni sezione selezionata. Più filtri selezionati all'interno di una singola sezione vengono valutati utilizzando l'operatore logico "OR". Ad esempio, in base alla seguente combinazione di filtri:

Riquadro dei filtri dei valori dei tag con più sezioni selezionate.

Data Catalog cerca:

  • Set di dati BigQuery con tag MyTemplate1.

  • Set di dati BigQuery con tag MyTemplate2.

  • Tabelle BigQuery contrassegnate con il modello MyTemplate1.

  • Tabelle BigQuery contrassegnate con il modello MyTemplate2.

Filtra per valore tag

I filtri Tag consentono di eseguire query per asset taggati utilizzando un modello specifico. Puoi utilizzare il menu Personalizza per perfezionare ulteriormente i risultati e filtrare in base a valori specifici del tag. Le condizioni di filtro dei valori dei tag dipendono dal tipo di dati del campo in questione. Ad esempio, per i campi data/ora e numerico puoi specificare una data o un intervallo specifico.

Visibilità dei filtri

I filtri visualizzati in ogni sezione dipendono dalla query corrente nella casella di ricerca. L'intero insieme dei risultati di ricerca può includere voci che corrispondono alla query corrente, ma i filtri corrispondenti potrebbero non essere mostrati nel riquadro Filtri.

Come cercare asset di dati

Console

Console

  1. Per avviare una query di ricerca in Dataplex nella console Google Cloud, vai alla pagina Ricerca Dataplex.

    Vai alla pagina Cerca di Dataplex

  2. Nel campo di ricerca, inserisci la query o utilizza il riquadro Filtri per perfezionare i parametri di ricerca.

Puoi aggiungere manualmente i seguenti filtri:

  • In Progetti, applica un filtro a un progetto facendo clic sul pulsante AGGIUNGI PROGETTO, cercando un progetto specifico, selezionandolo e facendo clic su APRI.
  • In Tag, applica un filtro ai modelli di tag facendo clic sul menu a discesa Aggiungi altri modelli di tag, cercando un modello specifico, selezionandolo e facendo clic su OK.

Inoltre, puoi:

  • Seleziona Includi set di dati pubblici per cercare asset di dati disponibili pubblicamente in Google Cloud oltre a quelli disponibili per te.

Esempio di ricerca

Ad esempio, per cercare la tabella trips che hai impostato in Configurare modelli di tag, tag, panoramiche e gestori dati:

  1. Inserisci trips nel campo di ricerca e fai clic su Cerca.
  2. Seleziona BigQuery dalla sezione Sistemi per escludere asset di dati con lo stesso nome che appartengono ad altri sistemi.
  3. Seleziona il tuo ID progetto dalla sezione Progetti per escludere gli asset di dati da altri progetti. Se il tuo progetto non viene mostrato nella sezione, fai clic su AGGIUNGI PROGETTO e selezionalo nella finestra di dialogo.
  4. Seleziona il modello di tag dimostrativo dalla sezione Modelli di tag per verificare se un tag che utilizza questo modello è associato alla tabella trips. Se questo modello non viene visualizzato nella sezione, fai clic sul menu a discesa Aggiungi altri tag, cercalo e selezionalo, quindi fai clic su OK.

Con tutti i filtri selezionati, i risultati di ricerca contengono solo una voce: la tabella trips di BigQuery nel tuo progetto con un tag associato che utilizza Demo Tag Template.

Puoi anche procedere nel seguente modo:

  1. Filtra la ricerca aggiungendo keyword:value ai termini di ricerca nel campo di ricerca:

    Parola chiaveDescrizione
    name: Nome asset di dati corrispondente
    column: Corrisponde al nome della colonna o al nome della colonna nidificata
    description: Descrizione della tabella delle corrispondenze

  2. Esegui una ricerca di tag aggiungendo uno dei seguenti prefissi delle parole chiave dei tag ai termini di ricerca nel campo di ricerca:

    TagDescrizione
    tag:project-name.tag_template_name Nome tag corrispondente
    tag:project-name.tag_template_name.key Associare una chiave tag
    tag:project-name.tag_template_name.key:value Associa la coppia tag key:string value

Suggerimenti per le espressioni di ricerca

  • Racchiudi l'espressione di ricerca tra virgolette ("search terms") se contiene spazi.

  • Puoi anteporre "NOT" a una parola chiave (sono necessari solo caratteri MAIUSCOLI) in modo che corrisponda alla negazione logica del filtro keyword:term. Puoi anche utilizzare gli operatori booleani "AND" e "OR" (sono obbligatori solo lettere maiuscole) per combinare le espressioni di ricerca.

    Ad esempio:NOT column:term elenca tutte le colonne tranne quelle che corrispondono al termine specificato. Per un elenco di parole chiave e altri termini che puoi utilizzare in un'espressione di ricerca di Data Catalog, consulta la pagina sulla sintassi di ricerca di Data Catalog.

Java

Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Data Catalog.

Per eseguire l'autenticazione in Data Catalog, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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

Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Data Catalog.

Per eseguire l'autenticazione in Data Catalog, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

// 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

Prima di provare questo esempio, segui le istruzioni per la configurazione di Python nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Data Catalog.

Per eseguire l'autenticazione in Data Catalog, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.

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)

LINEA REST e CMD

REST

Se non hai accesso alle librerie client di Cloud per il tuo linguaggio o se vuoi testare l'API utilizzando richieste REST, consulta gli esempi riportati di seguito e fai riferimento alla documentazione sull'API REST Data Catalog.

1. Cerca nel catalogo.

Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:

  • organization-id: ID organizzazione Google Cloud
  • project-id: ID progetto Google Cloud

Metodo HTTP e URL:

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

Corpo JSON della richiesta:

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

Per inviare la richiesta, espandi una delle seguenti opzioni:

Dovresti ricevere una risposta JSON simile alla seguente:

{
  "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"
    }
  ]
}

Visualizza dettagli tabella

All'interno della console Cloud, puoi utilizzare Data Catalog per visualizzare i dettagli della tabella.

  1. Vai alla pagina di ricerca di Dataplex.

    Vai a Data Catalog

  2. Nella casella di ricerca, inserisci il nome di un set di dati con una tabella.

    Ad esempio, se hai completato la Guida rapida, puoi cercare demo-dataset e selezionare la tabella trips.

  3. Fai clic sulla tabella.

    Si apre la pagina Dettagli tabella BigQuery.

I dettagli della tabella includono le seguenti sezioni:

  • Dettagli della tabella BigQuery. Include informazioni come l'ora di creazione, l'ora dell'ultima modifica, la data e l'ora di scadenza, gli URL delle risorse, le etichette e così via.

  • Tag. Elenca i tag applicati.Puoi modificare i tag in questa pagina e visualizzare il modello di tag. Fai clic sull'icona Azioni.

  • Tag di schema e colonna. Elenca lo schema applicato e i relativi valori.

Aggiungi a Speciali le tue voci preferite e cercale

Se sfogli spesso gli stessi asset di dati, puoi includere le relative voci in un elenco personalizzato contrassegnandole con delle stelle. Per farlo nella UI di Dataplex:

  1. Vai alla pagina di ricerca di Dataplex e trova il tuo asset.

    Vai a Data Catalog

  2. Aggiungi a Speciali la sua voce in uno dei due modi seguenti:

    • Fai clic sull'icona accanto alla voce nei risultati di ricerca.
    • Fai clic sul nome della voce per aprire la relativa pagina dei dettagli, quindi fai clic sul pulsante AGGIUNGI A SPECIALI nella barra delle azioni in alto.

Puoi aggiungere a Speciali fino a 200 voci.

Le voci aggiunte a Speciali vengono visualizzate nell'elenco Voci aggiunte a Speciali nella pagina di ricerca prima di inserire una query di ricerca nella barra di ricerca. Questo elenco è visibile solo a te.

Per cercare solo le voci aggiunte a Speciali, seleziona l'opzione Ambito > Speciali nel riquadro Filtri.

Puoi anche utilizzare i metodi corrispondenti dell'API Data Catalog per aggiungere e rimuovere le voci da Speciali. Durante la ricerca di asset, utilizza il parametro starredOnly nell'oggetto scope. Consulta il metodo catalog.search.