Busca y visualiza recursos de datos con Data Catalog

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.
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, tablas, vistas y modelos de BigQuery.
  • Flujos de datos de Pub/Sub.
  • Plantillas de etiquetas de Data Catalog, grupos de entradas y entradas personalizadas
  • Lakes, zonas, tablas y conjuntos de archivos de Dataplex
  • Conjuntos de datos vinculados de Analytics Hub
  • Elementos en sistemas aislados de datos empresariales conectados a Data Catalog.
  • (Vista previa pública): Los servicios, las bases de datos y las tablas de Dataproc Metastore

Alcance de la búsqueda

Es posible que tenga resultados de búsqueda diferentes en función de sus permisos. El alcance de los resultados de la búsqueda de Data Catalog se determina según tu función.

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

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

  • A fin de buscar una tabla, necesitas el permiso bigquery.tables.get para esa tabla.

  • A fin de buscar un conjunto de datos, necesitas el permiso bigquery.tables.get para ese conjunto.

  • Para buscar metadatos de un conjunto de datos o una tabla, necesitas la función roles/bigquery.metadataViewer.

Si tienes acceso a una tabla de BigQuery, pero no al conjunto de datos que contiene esa tabla, la tabla seguirá apareciendo como se espera en la búsqueda de Data Catalog. La misma lógica de acceso se aplica a todos los sistemas admitidos en la actualidad, 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 las páginas de resultados posteriores. Además, los resultados que se muestran (y no se muestran) pueden variar si repites las consultas de búsqueda. Si tienes problemas de recuperación y no necesitas recuperar los resultados en un orden específico, considera configurar el parámetro orderBy como default cuando llames al método catalog.search.

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 compartidas por fecha individuales no serán visibles en la búsqueda de Data Catalog, incluso si están presentes en Data Catalog y se pueden etiquetar.

Cómo buscar recursos de datos

Consola

Consola

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

    Ir a Dataplex Search

  2. En el cuadro de búsqueda, ingrese su consulta o use el panel Filtros para definir mejor los parámetros de búsqueda.

Filtros

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

  • Sistemas como BigQuery, Pub/Sub, Dataplex, Dataproc Metastore, sistemas personalizados y Data Catalog

  • 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 (Projects), se enumeran todos los proyectos disponibles para ti.

  • Plantillas de etiquetas: muestra una lista de todas las plantillas de etiquetas disponibles para usted.

  • Los conjuntos de datos provienen de BigQuery.

La sección Plantillas de etiquetas muestra las plantillas de etiquetas. Puedes usar filtros para buscar plantillas de etiqueta relevantes. Una plantilla seleccionada filtra los recursos de datos con etiquetas que usan la plantilla elegida. Si ninguna entrada tiene estas etiquetas, todos los resultados de la búsqueda se excluyen aunque la consulta de búsqueda original pueda coincidir con algunas entradas.

Todos los conjuntos de filtros, excepto las plantillas de etiqueta, se actualizan según el cambio de búsqueda. Los filtros se propagan mediante una muestra de los resultados de la búsqueda actuales. Por lo tanto, el conjunto completo de resultados de la búsqueda puede incluir entradas que coincidan con la consulta actual, pero los filtros que corresponden a esas entradas pueden no mostrarse en el panel Filtros.

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 Plantillas de etiquetas, haga clic en el menú desplegable Agregar más plantillas de etiquetas, busque una plantilla específica, selecciónela y haga clic en Aceptar.

Además, puede hacer lo siguiente:

  • Marca Incluir conjuntos de datos públicos (Include public datasets) para buscar recursos de datos disponibles de forma pública en Google Cloud, además de los elementos disponibles para ti.
  • Para volver a la experiencia de búsqueda anterior, haga clic en el botón correspondiente en la esquina superior derecha. La experiencia anterior proporciona un filtro más simple.

Ejemplo de búsqueda

Por ejemplo, busquemos la tabla trips que configuraste en Configura plantillas de etiquetas, etiquetas, descripciones generales y administradores de datos:

  1. Ingresa trips en el cuadro de búsqueda y haz clic en Buscar.
  2. En la sección Sistemas, seleccione BigQuery para excluir los elementos de datos con el mismo nombre que pertenecen a otros sistemas.
  3. Selecciona el ID del proyecto en la sección Proyectos para excluir los recursos de datos de otros proyectos. Si tu proyecto no se muestra en la sección, haz clic en AGREGAR PROYECTO y selecciónalo en la ventana de diálogo.
  4. Seleccione la Plantilla de etiqueta de demostración en la sección Plantillas de etiquetas para ver si una etiqueta que utiliza esta plantilla se adjunta a la tabla "viajes". Si esta plantilla no aparece en la sección, haga clic en el menú desplegable Agregar más etiquetas, búsquela, selecciónela y haga clic en Aceptar.

Con todos los filtros seleccionados, los resultados de la búsqueda contienen solo una entrada: la tabla "viajes" de BigQuery en su proyecto con una etiqueta adjunta que utiliza la "Plantilla de etiqueta de demostración".

Además, puedes hacer lo siguiente:

  1. Para filtrar tu búsqueda, agrega un keyword:value a tus términos en el cuadro de búsqueda:

    KeywordDescripció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. Para realizar una búsqueda de etiquetas, agrega uno de los siguientes prefijos de palabras clave de etiquetas a los términos de búsqueda en el cuadro de búsqueda:

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

Sugerencias de expresión de búsqueda

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

  • Puede preceder una palabra clave con "NO" (se requiere MAYÚSCULAS) para que coincida con la negación lógica del filtro keyword:term. También puede utilizar los operadores booleanos "AND" y "OR" (todos los CAPS necesarios) 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 de Java en la guía de inicio rápido de Data Catalog mediante bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Java de Data Catalog.

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 de Node.js en la guía de inicio rápido de Data Catalog mediante bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Node.js de Data Catalog.

// 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=dataset';

  // 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 en la guía de inicio rápido de Data Catalog mediante bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de Data Catalog.

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 Cloud Console, puede usar Data Catalog para ver los detalles de la tabla.

  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, las etiquetas, etcétera.

  • Etiquetas. Enumera las etiquetas aplicadas.Puede editar las etiquetas de esta página y ver la plantilla de etiquetas. Haz clic en el ícono Acciones.

  • Esquema y etiquetas de columna. Muestra una lista del esquema aplicado y sus valores.

Destaca tus entradas favoritas y búscalas

Si exploras con frecuencia los mismos recursos de datos, puedes marcar las estrellas para que se incluyan sus entradas en una lista personalizada. Para hacerlo en la IU de Dataplex, haz lo siguiente:

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

    Ir a Data Catalog

  2. Destaque su entrada de 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 haz clic en el botón STAR en la barra de acciones en la parte superior.

Puedes destacar hasta 200 entradas.

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

Para buscar solo las 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 o dejar de destacar las entradas. Cuando busques recursos, usa el parámetro starredOnly en el objeto scope. Consulte el método catalog.search.