Busca y visualiza recursos de datos con Data Catalog

En este documento, se explica cómo puedes usar Data Catalog para realizar una búsqueda de recursos de datos, como los siguientes:

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

Alcance de la búsqueda

Es posible que veas resultados de la búsqueda diferentes según los permisos que tengas. Los resultados de la búsqueda de Data Catalog tienen el alcance según tu rol.

Puedes revisar los diferentes tipos de funciones y permisos de IAM disponibles para Data Catalog.

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

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

  • Si quieres 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 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 la contiene, la tabla aún se mostrará como se espera en la búsqueda de 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 los resultados que coincidan con tu consulta no se muestren, incluso en páginas de resultados posteriores. Además, los resultados mostrados (y no mostrados) pueden variar si repites consultas de búsqueda.

Si tienes problemas de recuperación y no tienes que recuperar los resultados en ningún orden específico, considera configurar el parámetro orderBy como default cuando llames al método catalog.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 que se establezca el permiso datacatalog.catalogs.searchAll en todos los proyectos y organizaciones del 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. Las tablas individuales fragmentadas por fecha 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 en sí. El sistema de Data Catalog contiene conjuntos de archivos y entradas personalizadas.
  • Los lagos 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 muestran todos los proyectos que están disponibles para ti.
  • En Etiquetas, se enumeran todas las plantillas de etiquetas (y 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 de manera pública.

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

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

Filtrar por valor de etiqueta

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

Visibilidad de filtros

Los filtros que se muestran en cada sección dependen de la búsqueda actual del 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 muestren 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 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, puedes usar un filtro de plantillas de etiqueta. Para ello, haz 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 disponibles de manera pública 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 el mismo nombre que pertenezcan a otros sistemas.
  3. Selecciona tu ID del proyecto en la sección Projects 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 ver si una etiqueta que usa esta plantilla se adjuntó 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. Para filtrar tu búsqueda, agrega keyword:value a los términos de búsqueda en el campo de búsqueda:

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

  2. Realiza una búsqueda de etiquetas agregando uno de los siguientes prefijos de palabras clave de etiqueta 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 Haz coincidir 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.

  • Puedes anteponer “NOT” (todas las MAYÚSCULAS) a una palabra clave para que coincida con la negación 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 enumera todas las columnas excepto las que coinciden con el término especificado. Para obtener una lista de palabras clave y otros términos que puedes 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 para Java que se encuentran en la 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 con 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 para Python que se encuentran en la 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 Python 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.

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

HTTP method and 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 el cuadro de búsqueda, ingresa el nombre de un conjunto de datos que tenga una tabla.

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

  3. Haz clic en la tabla.

    Se abrirá la página 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 hora de vencimiento, las URL de recursos y las etiquetas, entre otros.

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

  • Esquema y etiquetas de columnas: 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 hacerlo en la IU de Dataplex:

  1. Ve a la página de búsqueda de Dataplex y busca tu recurso.

    Ir a Data Catalog

  2. Destaca la entrada de una de estas dos maneras:

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

Puedes destacar hasta 200 entradas.

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

Para buscar solo entradas destacadas, selecciona la opción Alcance > Destacados en el panel Filtros.

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