Busca y visualiza recursos de datos con Data Catalog

En este documento, se explica cómo usar Data Catalog para realizar una búsqueda de recursos de datos.

Entre los recursos de datos que puedes buscar, se incluyen los siguientes:

  • Conjuntos de datos vinculados de Analytics Hub
  • Tablas, modelos y conjuntos de datos de BigQuery
  • Instancias, clústeres y tablas de Bigtable (incluidos los detalles de la familia de columnas)
  • Plantillas de etiquetas, grupos de entradas y entradas personalizadas de Data Catalog
  • Lakes, zonas, tablas y conjuntos de archivos de Dataplex
  • servicios de Dataproc Metastore, bases de datos y tablas
  • Flujos de datos de Pub/Sub
  • Instancias, bases de datos, tablas y vistas de Spanner
  • Modelos, conjuntos de datos y recursos de Vertex AI Feature Store
  • Recursos en silos de datos empresariales conectados a Data Catalog

Alcance de la búsqueda

Es posible que tengas resultados de la búsqueda diferentes según tus permisos. El alcance de los resultados de la búsqueda de Data Catalog se define en función de tu rol.

Puedes revisar los diferentes tipos de El rol y los permisos de IAM disponibles para Data Catalog

Por ejemplo, si tienes acceso de lectura de metadatos de BigQuery a un objeto, este aparecerá en la búsqueda de Data Catalog resultados. En la siguiente lista, se describen los permisos mínimos necesarios:

  • Para buscar una tabla, necesitas el permiso bigquery.tables.get para esa tabla.

  • Para buscar un conjunto de datos, necesitas el permiso bigquery.datasets.get para ese conjunto de datos.

  • Para buscar metadatos de un conjunto de datos o una tabla, necesitas el rol de roles/bigquery.metadataViewer.

  • Para buscar todos los recursos dentro de un proyecto o una organización, necesitas el permiso datacatalog.catalogs.searchAll. Funciona para todos los recursos, independientemente del sistema de origen.

Si tienes acceso a una tabla de BigQuery, pero no al conjunto de datos que contiene esa tabla, esta seguirá apareciendo como se espera en el Búsqueda en Data Catalog La misma lógica de acceso se aplica a todos los sistemas compatibles, como Pub/Sub y Data Catalog.

Las consultas de búsqueda de Data Catalog no garantizan la recuperación completa. Es posible que no se muestren resultados que coincidan con tu consulta, incluso en páginas de resultados posteriores. Además, los resultados que se muestran (y no se muestran) pueden variar si repites las búsquedas.

Si tienes problemas de recuperación y no necesitas recuperar el resultados en cualquier orden específico, considera establecer el parámetro orderBy en default cuando llames a catalog.search.

Usa la marca admin_search

El uso de la marca admin_search en la solicitud de búsqueda garantiza la recuperación completa. La búsqueda del administrador requiere el permiso datacatalog.catalogs.searchAll se establece en todos los proyectos y organizaciones incluidos en el alcance de la búsqueda. Cuando se usa admin_search, solo se permite default orderBy.

Tablas fragmentadas por fecha

Data Catalog agrega tablas fragmentadas por fecha en una entrada lógica única. Esta entrada tiene el mismo esquema que la fragmentación de la tabla con la fecha más reciente y contiene información agregada sobre la cantidad total de fragmentos. La entrada deriva su nivel de acceso al conjunto de datos al que pertenece. La búsqueda de Data Catalog solo muestra estas entradas lógicas si el usuario tiene acceso al conjunto de datos que las contiene. Fragmentado por fecha individual tablas no son visibles en la búsqueda de Data Catalog, incluso si están presentes en Data Catalog y se pueden etiquetar.

Filtros

Los filtros te permiten acotar los resultados de la búsqueda. Todos los filtros se agrupan en secciones:

  • Alcance para limitar la búsqueda solo a los elementos destacados.
  • Sistemas, como BigQuery, Pub/Sub, Dataplex, Dataproc Metastore, sistemas personalizados, Vertex AI y Data Catalog El sistema de Data Catalog contiene conjuntos de archivos y entradas personalizadas.
  • Los lakes y las zonas provienen de Dataplex.
  • Tipos de datos, como flujos de datos, conjuntos de datos, lakes, zonas, conjuntos de archivos, modelos, tablas, vistas, servicios, bases de datos y tipos personalizados.
  • En Proyectos, se enumeran todos los proyectos disponibles para ti.
  • Etiquetas enumera todas las plantillas de etiquetas (con sus campos individuales) disponibles.
  • Los conjuntos de datos provienen de BigQuery y Vertex AI.
  • Los conjuntos de datos públicos son datos de BigQuery disponibles para el público.

Puedes combinar filtros de varias secciones para encontrar activos que coincidan con al menos una condición de cada sección seleccionada. Los múltiples filtros seleccionados dentro de una sola sección se evalúan con el operador lógico "O". Por ejemplo: dada la siguiente combinación de filtros:

Panel de filtro de valor de la etiqueta con varias secciones seleccionadas.

Data Catalog busca lo siguiente:

  • Conjuntos de datos de BigQuery etiquetados con la plantilla MyTemplate1.

  • Conjuntos de datos de BigQuery etiquetados con la plantilla MyTemplate2.

  • Tablas de BigQuery etiquetadas con la plantilla MyTemplate1.

  • Tablas de BigQuery etiquetadas con la plantilla MyTemplate2.

Cómo filtrar por valor de la etiqueta

Los filtros Etiquetas te permiten buscar elementos etiquetados con una plantilla específica. Puedes usar el menú Personalizar para definir mejor los resultados y filtrar por valores de etiquetas específicos. Las condiciones del filtro de valor de la etiqueta dependen del tipo de datos de ese campo de etiqueta. Por ejemplo, para los campos de fecha y hora, puedes especificar una fecha específica o un rango.

Visibilidad de los filtros

Los filtros que se muestran en cada sección dependen de la búsqueda actual en el cuadro de búsqueda. El conjunto completo de resultados de la búsqueda puede incluir entradas que coinciden con la consulta actual, pero es posible que los filtros que corresponden a esas entradas no se mostrará en el panel Filtros.

Cómo buscar recursos de datos

Console

Console

  1. Para iniciar una búsqueda de Dataplex en la consola de Google Cloud, ve a la página Búsqueda de Dataplex.

    Ir a Búsqueda de Dataplex

  2. En Elegir plataforma de búsqueda, selecciona Data Catalog como modo de búsqueda.

  3. En el campo de búsqueda, ingresa tu consulta o usa el panel Filtros para definir mejor los parámetros de búsqueda.

Puedes agregar manualmente los siguientes filtros:

  • En Proyectos, un filtro de proyecto se haciendo clic en el botón AGREGAR PROYECTO, se busca un proyecto específico, se selecciona y se hace clic en ABRIR.
  • En Etiquetas, un filtro de plantilla de etiqueta haciendo clic en el menú desplegable Agregar más plantillas de etiquetas, busca una plantilla específica, selecciónala y haz clic en Aceptar.

Además, puedes hacer lo siguiente:

  • Marca Incluir conjuntos de datos públicos para buscar recursos de datos públicamente. disponibles en Google Cloud, además de los recursos disponibles para ti.

Ejemplo de búsqueda

Por ejemplo, para buscar la tabla trips que configuraste en Configura plantillas de etiquetas, etiquetas, descripciones generales y administradores de datos, haz lo siguiente:

  1. Ingresa trips en el campo de búsqueda y haz clic en Buscar.
  2. Selecciona BigQuery en la sección Sistemas para excluir recursos de datos con con el mismo nombre que pertenecen a otros sistemas.
  3. Selecciona tu ID del proyecto en la sección Proyectos para excluir recursos de datos de otros proyectos. Si tu proyecto no aparece en la sección, Haz clic en AGREGAR PROYECTO y selecciónalo en la ventana de diálogo.
  4. Selecciona la Plantilla de etiqueta de demostración en la sección Plantillas de etiquetas para Observa si se adjunta una etiqueta que usa esta plantilla a la tabla trips. Si esta plantilla no se muestra en la sección, haz clic en el menú desplegable Agregar más etiquetas, búscala, selecciónala y haz clic en Aceptar.

Con todos los filtros seleccionados, los resultados de la búsqueda contienen solo una entrada: la tabla trips de BigQuery en tu proyecto con una etiqueta adjunta que usa Demo Tag Template.

Además, puedes hacer lo siguiente:

  1. Filtra tu búsqueda agregando keyword:value a tus términos de búsqueda en el campo de búsqueda:

    Palabra claveDescripción
    name: Nombre del recurso de datos de coincidencia
    column: Nombre de columna de coincidencia o nombre de columna anidada
    description: Descripción de la tabla de coincidencias

  2. Realice una búsqueda de etiqueta agregando una de las siguientes etiquetas prefijos de palabras clave a los términos de búsqueda en el campo de búsqueda:

    EtiquetaDescripción
    tag:project-name.tag_template_name Nombre de la etiqueta de coincidencia
    tag:project-name.tag_template_name.key Coincidir con una clave de etiqueta
    tag:project-name.tag_template_name.key:value Coincidir con el par de etiqueta key:string value

Sugerencias para las expresiones de búsqueda

  • Encierra tu expresión de búsqueda entre comillas ("search terms") si contiene espacios.

  • Puede anteponer "NOT" a una palabra clave. (se requieren todas MAYÚSCULAS) para que coincidan con la lógica del filtro keyword:term. También puedes usar los operadores booleanos “AND” y “OR” (en MAYÚSCULAS obligatorias) para combinar las expresiones de búsqueda.

    Por ejemplo, NOT column:term muestra todas las columnas, excepto aquellas que coinciden con el término especificado. Para obtener una lista de palabras clave y otros términos que puede usar en una Expresión de búsqueda de Data Catalog, consulta Sintaxis de búsqueda de Data Catalog.

Java

Antes de probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en el Guía de inicio rápido de Data Catalog con bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de Data Catalog.

Para autenticarte en Data Catalog, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Antes de probar esta muestra, sigue las instrucciones de configuración para Node.js que se encuentran en la Guía de inicio rápido de Data Catalog sobre el uso de bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de Data Catalog.

Para autenticarte en Data Catalog, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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

Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en el Guía de inicio rápido de Data Catalog con bibliotecas cliente. Para obtener más información, consulta la API de Python de Data Catalog documentación de referencia.

Para autenticarte en Data Catalog, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

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)

LÍNEA DE REST Y CMD

REST

Si no tienes acceso a las bibliotecas cliente de Cloud en tu idioma o quieres probar la API con solicitudes de REST, consulta los siguientes ejemplos y la documentación de la API de REST de Data Catalog.

1. Buscar en el catálogo

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • organization-id: ID de la organización de GCP
  • project-id: ID del proyecto de GCP

Método HTTP y URL:

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

Cuerpo JSON de la solicitud:

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

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

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

Ver detalles de la tabla

En la consola de Cloud, puedes usar Data Catalog para ver los detalles de las tablas.

  1. Ve a la página de búsqueda de Dataplex.

    Ir a Data Catalog

  2. En Elegir plataforma de búsqueda, selecciona Data Catalog como modo de búsqueda.

  3. En el cuadro de búsqueda, ingresa el nombre de un conjunto de datos que contenga una tabla.

    Por ejemplo, si completaste la Guía de inicio rápido, puedes buscar demo-dataset y seleccionar la tabla trips.

  4. Haz clic en la tabla.

    Se abrirá una página de detalles de la tabla de BigQuery.

Los detalles de la tabla incluyen las siguientes secciones:

  • Detalles de la tabla de BigQuery. Incluye información como la hora de creación, la hora de la última modificación, la fecha de vencimiento las URLs de recursos, las etiquetas, etcétera.

  • Etiquetas. Muestra una lista de las etiquetas aplicadas. Puedes editar las etiquetas desde esta página y ver la plantilla de etiquetas. Haz clic en el ícono Acciones.

  • Esquema y etiquetas de columna. Enumera el esquema aplicado y sus valores.

Destaca tus entradas favoritas y búscalas

Si exploras con frecuencia los mismos recursos de datos, puedes incluir sus entradas en una lista personalizada marcándolas con estrellas. Para hacer eso en la IU de Dataplex, sigue estos pasos:

  1. Ve a la página de búsqueda de Dataplex.

    Ir a Data Catalog

  2. En Elige una plataforma de búsqueda, selecciona Data Catalog como el modo de búsqueda.

  3. Busca tu activo y, luego, marca su entrada de una de las siguientes maneras:

    • Haz clic en el ícono junto al en los resultados de la búsqueda.
    • Haz clic en el nombre de la entrada para abrir la página de detalles y, luego, haz clic en El botón STAR en el barra de acciones en la parte superior.

Puedes destacar hasta 200 entradas.

Las entradas destacadas aparecen en la lista Entradas destacadas en la página de búsqueda antes de ingresas una consulta de búsqueda en la barra de búsqueda. Solo tú puedes ver esta lista.

Para buscar solo las entradas destacadas, selecciona el Permiso > Activar la opción Destacados el panel Filtros.

También puedes usar los métodos correspondientes de la API de Data Catalog para marcar y desmarcar entradas. Cuando busques recursos, usa el parámetro starredOnly en el objeto scope. Consulta el método catalog.search.