Cerca e visualizza 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
  • Laghi, zone, tabelle e set di file Dataplex
  • Servizi, database e tabelle di Dataproc Metastore
  • Stream di dati Pub/Sub
  • Istanze, database, tabelle e viste Spanner
  • Risorse per modelli, set di dati e Vertex AI Feature Store di Vertex AI
  • Asset in silos di dati aziendali connessi a Data Catalog

Ambito di ricerca

Potresti visualizzare 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 ruolo e autorizzazioni IAM disponibili per Data Catalog.

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

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

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

  • Per cercare i 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 contenente questa tabella, 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.

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

L'uso del flag admin_search nella richiesta di ricerca garantisce il richiamo completo. La Ricerca amministratore richiede l'impostazione dell'autorizzazione datacatalog.catalogs.searchAll in tutti i progetti e le organizzazioni nell'ambito di ricerca. Quando utilizzi admin_search, è consentito solo default orderBy.

Tabelle con suddivisione in base alle date

Data Catalog aggrega le tabelle con shard con data 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 shard con data 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.
  • Laghi e zone provengono da Dataplex.
  • Tipi di dati come stream di dati, set di dati, data 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 campi singoli) disponibili.
  • I set di dati provengono da BigQuery e Vertex AI.
  • I set di dati pubblici sono dati disponibili pubblicamente da BigQuery.

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

Riquadro del filtro Valore tag con più sezioni selezionate.

Data Catalog cerca:

  • Set di dati BigQuery contrassegnati con il modello MyTemplate1.

  • Set di dati BigQuery con tag MyTemplate2 modello.

  • Tabelle BigQuery contrassegnate con il modello MyTemplate1.

  • Tabelle BigQuery contrassegnate con il modello MyTemplate2.

Filtra per valore tag

I filtri Tag ti consentono di eseguire query sugli 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 per il valore tag dipendono dal tipo di dati del campo tag. Ad esempio, per i campi relativi a data e ora puoi specificare una data o un intervallo specifico.

Visibilità filtri

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

Come cercare asset di dati

Console

Console

  1. Per avviare una query di ricerca 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 ai progetti facendo clic sul pulsante AGGIUNGI PROGETTO, cerca un progetto specifico, selezionalo e fai 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 gli asset di dati disponibili pubblicamente in Google Cloud, oltre agli asset a tua disposizione.

Esempio di ricerca

Ad esempio, per cercare la tabella trips che hai configurato 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 gli 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 progetto non viene visualizzato nella sezione, fai clic su AGGIUNGI PROGETTO e selezionalo nella finestra di dialogo.
  4. Seleziona il Modello di tag demo dalla sezione Modelli di tag per vedere se un tag che utilizza questo modello è associato alla tabella trips. Se il modello non viene visualizzato nella sezione, fai clic sul menu a discesa Aggiungi altri tag, individua e seleziona il modello, quindi fai clic su OK.

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

Puoi anche effettuare le seguenti operazioni:

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

    Parola chiaveDescrizione
    name: Corrispondenza nome asset di dati
    column: Trova la corrispondenza del nome della colonna o della colonna nidificata
    description: Descrizione della tabella delle corrispondenze

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

    TagDescrizione
    tag:project-name.tag_template_name Nome tag
    tag:project-name.tag_template_name.key Associa una chiave tag
    tag:project-name.tag_template_name.key:value Coppia tag di corrispondenza key:string value

Suggerimenti per le espressioni di ricerca

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

  • Puoi anteporre a una parola chiave il carattere "NOT" (sono obbligatorie tutte le maiuscole) per soddisfare la negazione logica del filtro keyword:term. Puoi anche usare gli operatori booleani "AND" e "OR" (obbligatoriamente 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 sintassi di ricerca di Data Catalog.

Java

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

Per eseguire l'autenticazione in Data Catalog, configura 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 di configurazione di Node.js disponibili nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Data Catalog.

Per eseguire l'autenticazione in Data Catalog, configura 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 di configurazione di Python disponibili nella guida rapida di Data Catalog sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Data Catalog.

Per eseguire l'autenticazione in Data Catalog, configura 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 vuoi testare l'API utilizzando richieste REST, consulta gli esempi seguenti e la documentazione sull'API REST di 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 di queste 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

Nella 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 quali data e ora di creazione, ora dell'ultima modifica, ora di scadenza, URL delle risorse, etichette e così via.

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

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

Aggiungi a Speciali le tue voci preferite e cercale

Se consulti spesso gli stessi asset di dati, puoi includere le relative voci in un elenco personalizzato contrassegnandole con delle stelle. Per farlo nell'interfaccia utente di Dataplex:

  1. Vai alla pagina di ricerca di Dataplex e trova l'asset.

    Vai a Data Catalog

  2. Aggiungi la voce a Speciali in due modi:

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

Puoi aggiungere a Speciali fino a 200 voci.

Le voci speciali vengono visualizzate nell'elenco Voci 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 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. Quando cerchi gli asset, utilizza il parametro starredOnly nell'oggetto scope. Vedi il metodo catalogo.search.