Busca y visualiza recursos de datos con Data Catalog

Organízate con las colecciones Guarda y clasifica el contenido según tus preferencias.
En este documento, se explica cómo puedes usar Data Catalog para realizar búsquedas 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 entrada y entradas personalizadas
  • Lakes, zonas, tablas y conjuntos de archivos de Dataplex.
  • Los elementos en entornos aislados de datos empresariales conectados a Data Catalog
  • (Vista previa pública): Servicios, bases de datos y tablas de Dataproc Metastore.
  • (Vista previa pública): Conjuntos de datos vinculados de Analytics Hub.

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 define 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 con acceso de lectura a un objeto, este aparecerá en los resultados de la búsqueda de Data Catalog. En la siguiente lista, se describen los permisos mínimos requeridos:

  • 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.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 actualmente admitidos, como Pub/Sub y Data Catalog.

Las búsquedas de Data Catalog no garantizan la recuperación completa. Es posible que no se muestren resultados que coincidan con tu búsqueda, incluso en 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 tienes que recuperar los resultados en un orden específico, procura 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

Console

Console

  1. Para iniciar una búsqueda en Dataplex en la consola, 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 acotar 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, se enumeran todos los proyectos disponibles para ti.

  • En Plantillas de etiquetas, se incluyen todas las plantillas de etiqueta que tiene disponibles.

  • Los conjuntos de datos provienen de BigQuery.

La sección Plantillas de etiquetas muestra las plantillas de etiquetas. Puede usar filtros para buscar plantillas de etiquetas relevantes. Una plantilla seleccionada filtra los recursos de datos con etiquetas que usan la plantilla elegida. Si no hay entradas con estas etiquetas, se excluyen todos los resultados de la búsqueda, aunque la búsqueda original coincida con algunas entradas.

Todos los conjuntos de filtros, excepto las plantillas de etiquetas, se actualizan según el cambio de búsqueda. Los filtros se propagan con 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 es posible que los filtros que corresponden a esas entradas no se muestren 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, un filtro de plantilla de etiqueta. Para ello, 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.
  • Vuelve a la experiencia de búsqueda anterior. Para ello, haz clic en el botón correspondiente en la esquina superior derecha. La experiencia anterior proporciona un filtrado 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. Seleccione BigQuery en la sección Sistemas para excluir los recursos de datos con el mismo nombre que pertenezcan a otros sistemas.
  3. Seleccione su 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. 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. Si esta plantilla no aparece en la sección, haz clic en el menú desplegable Agregar más etiquetas, búscala y selecciónala, y haz clic en Aceptar.

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

Además, puedes hacer lo siguiente:

  1. Para filtrar la búsqueda, agrega keyword:value a los 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 tus 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.

  • Puedes preceder una palabra clave con el signo "NOT" (todos los MAYÚSCULAS obligatorios) deben coincidir con la negación lógica del filtro keyword:term. También puedes utilizar los operadores booleanos "& AND" y "O" (todos los CAPS) para combinar las expresiones de búsqueda.

    Por ejemplo:NOT column:term muestra una lista de 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 la 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. Si deseas obtener más información, consulta la documentación de referencia de la API de Data Catalog para Java.

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 con bibliotecas cliente. Si quieres obtener más información, consulta la documentación de referencia de la API de Data Catalog para Node.js.

// 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 con bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Data Catalog para Python.

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

LÍNEA DE CMD Y 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:

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 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, URL de recursos, etiquetas, etcétera.

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

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

Destaca tus entradas favoritas y búscalas

Si exploras los mismos recursos de datos con frecuencia, puedes marcarlos con estrellas en 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 elemento.

    Ir a Data Catalog

  2. Destaca 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 su 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 Entradas destacadas de la página de búsqueda antes de ingresar una búsqueda en la barra de búsqueda. Solo tú puedes ver esta lista.

Para buscar solo las entradas destacadas, selecciona la opción Alcance destacada 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 elementos, usa el parámetro starredOnly en el objeto scope. Consulta el método de catalog.search.