Las estadísticas de datos para datos no estructurados usan Vertex AI para transformar archivos sin procesar y no estructurados en Cloud Storage en recursos estructurados y consultables en BigQuery. Las estadísticas de datos para datos no estructurados están optimizadas para archivos PDF.
En este documento, se describe cómo configurar los permisos necesarios, descubrir datos no estructurados, ver las estadísticas generadas y extraer los datos en BigQuery.
Antes de comenzar
Antes de usar las estadísticas de datos para datos no estructurados, asegúrate de tener los permisos y las APIs necesarios habilitados.
Habilita las APIs
Habilita las siguientes APIs en tu proyecto:
dataplex.googleapis.combigquery.googleapis.comaiplatform.googleapis.com(Vertex AI)
Roles necesarios para habilitar las APIs
Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el permiso serviceusage.services.enable. Obtén más información para otorgar roles.
Roles y permisos requeridos
La inferencia semántica de datos no estructurados es una función avanzada que se basa en el análisis de descubrimiento estándar de BigQuery. Para configurar y ejecutar estadísticas de datos para datos no estructurados, debes cumplir con los permisos básicos para un análisis de descubrimiento y, luego, otorgar roles adicionales para la inferencia semántica.
Paso 1: Roles de análisis de descubrimiento de referencia
Asegúrate de que tú y las cuentas de servicio que usa Knowledge Catalog tengan los permisos básicos necesarios para un análisis de detección estándar. Para obtener una lista completa, consulta Descubre y cataloga datos de Cloud Storage.
Paso 2: Roles adicionales para la inferencia semántica
Además de los roles básicos, asegúrate de que tú y las cuentas de servicio tengan los siguientes roles de IAM adicionales.
Resumen de identidades y roles adicionales
| Tipo de identidad | Formato típico de principal | Roles de IAM obligatorios | Objetivo principal |
|---|---|---|---|
| Usuario final | Tu cuenta de usuario de Google Cloud |
|
Usas estos roles adicionales para ver los resultados generados por IA y activar la extracción final de datos. |
| Agente de descubrimiento de Universal Catalog de Knowledge Catalog | service-<var>PROJECT_NUMBER</var>@gcp-sa-dataplex.iam.gserviceaccount.com |
|
Este agente de servicio administrado por Google usa este rol adicional para llamar a Vertex AI y generar esquemas y metadatos inferidos. |
| Cuenta de servicio de conexión de BigQuery | service-<var>PROJECT_NUMBER</var>@gcp-sa-bigqueryconnection.iam.gserviceaccount.com |
|
Conecta BigQuery al almacenamiento externo, lo que permite que BigQuery lea los archivos sin procesar, cree tablas de objetos y ejecute la inferencia de IA sin exponer tus credenciales de usuario personales. |
| Cuenta de servicio de ejecución de canalización (opcional) | Una cuenta de servicio administrada por el usuario |
|
Si eliges extraer datos con una canalización automatizada, esta identidad ejecuta los trabajos en segundo plano para materializar las entidades generadas por IA en tablas de BigQuery. |
| Cuenta de servicio de Dataform predeterminada (opcional) | service-<var>PROJECT_NUMBER</var>@gcp-sa-dataform.iam.gserviceaccount.com |
|
Cuando se usa el método de extracción de canalización, Dataform requiere permiso para suplantar la identidad de tu cuenta de servicio de ejecución de canalización y así coordinar el flujo de trabajo. |
Roles y permisos del usuario final
Para garantizar que tu cuenta de usuario tenga los permisos necesarios para ver estadísticas y extraer datos, pídele a tu administrador que le otorgue los siguientes roles de IAM en el proyecto:
-
Ver los análisis y las estadísticas de detección:
Visualizador de datos de DataScan de Dataplex (
roles/dataplex.dataScanDataViewer) -
Extrae datos con SQL o una canalización:
- Editor de datos de BigQuery (
roles/bigquery.dataEditor) - Usuario de trabajo de BigQuery (
roles/bigquery.jobUser)
- Editor de datos de BigQuery (
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para ver estadísticas y extraer datos. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para ver estadísticas y extraer datos:
-
Análisis de descubrimiento:
-
dataplex.datascans.create -
dataplex.datascans.get -
dataplex.datascans.getData -
dataplex.datascans.list
-
-
Extracción de datos:
-
bigquery.tables.create -
bigquery.tables.update -
bigquery.tables.getData -
bigquery.jobs.create
-
Es posible que tu administrador también pueda otorgar estos permisos a tu cuenta de usuario con roles personalizados o con otros roles predefinidos.
Roles y permisos del agente de servicio de descubrimiento de Knowledge Catalog
El agente de servicio de descubrimiento de Knowledge Catalog es un agente de servicio que necesita acceso para ejecutar análisis de descubrimiento y realizar inferencias con Vertex AI.
Para garantizar que el agente de servicio de detección de Knowledge Catalog (por lo general, service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) tenga los permisos necesarios para ejecutar análisis de detección y realizar inferencias con Vertex AI, pídele a tu administrador que le otorgue los siguientes roles de IAM al agente de servicio de detección de Knowledge Catalog (por lo general, service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) en el proyecto:
- Usuario de Vertex AI (
roles/aiplatform.user) - Agente del agente de servicio de Discovery (
roles/dataplex.discoveryServiceAgent)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para ejecutar análisis de detección y realizar inferencias con Vertex AI. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para ejecutar análisis de detección y realizar inferencias con Vertex AI:
-
aiplatform.endpoints.predict -
bigquery.datasets.create -
bigquery.datasets.get -
storage.buckets.get -
storage.objects.get -
storage.objects.list
Es posible que tu administrador también pueda otorgar estos permisos al agente de servicio de descubrimiento de Knowledge Catalog (por lo general, service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.com) con roles personalizados o con otros roles predefinidos.
Roles y permisos de la cuenta de servicio de conexión de BigQuery
Una conexión de recursos de Cloud de BigQuery permite que Knowledge Catalog acceda y descubra de forma segura datos no estructurados almacenados fuera de BigQuery, como en Cloud Storage. Cuando creas una conexión, BigQuery crea automáticamente una cuenta de servicio dedicada en tu nombre. Esta cuenta de servicio actúa como la identidad que se usa para conectarse a tu fuente de datos externa.
De forma predeterminada, esta cuenta de servicio no tiene ningún permiso. Debes otorgar explícitamente a esta cuenta de servicio los roles de IAM necesarios en los buckets de Cloud Storage que contienen tus datos. Puedes usar una conexión de BigQuery existente o crear una nueva en la misma ubicación que tu bucket de Cloud Storage de origen.
Para garantizar que la cuenta de servicio de conexión de BigQuery (por lo general, service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com) tenga los permisos necesarios para crear tablas de objetos y ejecutar inferencias, pídele a tu administrador que le otorgue los siguientes roles de IAM a la cuenta de servicio de conexión de BigQuery (por lo general, service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com):
- Visualizador de objetos de almacenamiento (
roles/storage.objectViewer) en el bucket que contiene datos no estructurados - Usuario de Vertex AI (
roles/aiplatform.user) en el proyecto
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para crear tablas de objetos y ejecutar inferencias. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear tablas de objetos y ejecutar la inferencia:
-
storage.buckets.geten el bucket que contiene datos no estructurados -
storage.objects.geten el bucket que contiene datos no estructurados -
aiplatform.endpoints.predicten el proyecto
Es posible que tu administrador también pueda otorgar estos permisos a la cuenta de servicio de conexión de BigQuery (por lo general, service-PROJECT_NUMBER@gcp-sa-bigqueryconnection.iam.gserviceaccount.com) con roles personalizados o con otros roles predefinidos.
Roles y permisos de la cuenta de servicio de ejecución de la canalización (opcional)
Si eliges extraer los datos inferidos con una canalización automatizada, debes crear o proporcionar una cuenta de servicio dedicada para ejecutar la canalización. Esta cuenta de servicio de ejecución actúa como la identidad que autentica y ejecuta de forma segura las tareas de extracción y análisis de datos en segundo plano en BigQuery. Además, debes otorgar permiso a la cuenta de servicio predeterminada de Dataform para suplantar la identidad de esta cuenta de servicio de ejecución.
Para garantizar que la cuenta de servicio de ejecución de la canalización tenga los permisos necesarios para extraer las entidades y las relaciones inferidas con una canalización, pídele a tu administrador que otorgue los siguientes roles de IAM a la cuenta de servicio de ejecución de la canalización en el proyecto:
- Editor de datos de BigQuery (
roles/bigquery.dataEditor) - Usuario de trabajo de BigQuery (
roles/bigquery.jobUser) - Usuario de BigQuery (
roles/bigquery.user) - Usuario de Vertex AI (
roles/aiplatform.user)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Estos roles predefinidos contienen los permisos necesarios para extraer las entidades y las relaciones inferidas con una canalización. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para extraer las entidades y las relaciones inferidas con una canalización:
-
bigquery.tables.create -
bigquery.tables.update -
bigquery.tables.get -
bigquery.tables.getData -
bigquery.jobs.create -
aiplatform.endpoints.predict
Es posible que tu administrador también pueda otorgar estos permisos a la cuenta de servicio de ejecución de la canalización con roles personalizados o con otros roles predefinidos.
Para garantizar que la cuenta de servicio predeterminada de Dataform (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com) tenga los permisos necesarios para usar la identidad de la cuenta de servicio de ejecución de la canalización, pídele a tu administrador que le otorgue el rol de IAM de Creador de tokens de cuenta de servicio (roles/iam.serviceAccountTokenCreator) a la cuenta de servicio predeterminada de Dataform (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com) en la cuenta de servicio de ejecución de la canalización.
Este rol predefinido contiene el permiso iam.serviceAccounts.getAccessToken, que se requiere para usar la identidad de la cuenta de servicio de ejecución de la canalización.
Es posible que tu administrador también pueda otorgar este permiso a la cuenta de servicio predeterminada de Dataform (service-PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com) con roles personalizados o con otros roles predefinidos.
Prepara datos no estructurados
Antes de ejecutar un análisis de detección, debes subir tus datos no estructurados a un bucket de Cloud Storage. Las estadísticas de datos para datos no estructurados están optimizadas para analizar documentos PDF.
Para obtener más información sobre cómo almacenar y administrar archivos en Cloud Storage, consulta Carga objetos.
Crea un análisis de descubrimiento para datos no estructurados
Para extraer estadísticas semánticas de tus datos no estructurados, primero debes crear un análisis de descubrimiento. Este análisis ubica automáticamente tus archivos no estructurados en Cloud Storage y los cataloga en una tabla de objetos. Si habilitas la opción de estadísticas de datos durante este proceso, Knowledge Catalog usará Vertex AI para analizar los archivos y generar metadatos, esquemas y relaciones inferidos.
En la consola de Google Cloud , ve a la página Selección de metadatos.
En la pestaña Cloud Storage discovery, haz clic en Create.
Ingresa un nombre para el análisis.
Para seleccionar el bucket de Cloud Storage que contiene tus datos no estructurados, haz clic en Explorar.
En Opciones de datos no estructurados, selecciona la casilla de verificación Habilitar la inferencia semántica.
En el campo ID de conexión, especifica la conexión de BigQuery que se usa para acceder a los archivos.
El análisis de descubrimiento cataloga automáticamente los datos no estructurados en BigQuery creando tablas de objetos. Dado que las tablas de objetos desacoplan de forma segura las credenciales de acceso a los datos del usuario que ejecuta las consultas, se requiere una conexión para autenticarse con Cloud Storage y leer los archivos.
Haz clic en Ejecutar ahora (para un análisis a pedido) o en Crear (para un análisis programado).
Para obtener todos los detalles sobre las configuraciones disponibles, consulta Descubre y cataloga los datos de Cloud Storage.
Knowledge Catalog crea una tabla de objetos y enriquece la entrada del catálogo con metadatos generados por IA. Este proceso suele tardar unos minutos para los conjuntos de datos estándar.
Ubica la tabla de objetos
Una vez que se completa el análisis de detección, Knowledge Catalog crea una o varias tablas de objetos y propaga Knowledge Catalog con una entrada correspondiente enriquecida con metadatos generados por IA. Cuando se crean varias entradas debido a un análisis de detección, cada una de ellas tiene su propia pestaña de estadísticas. Puedes ver la descripción automatizada de la tabla, los esquemas inferidos y los gráficos de relaciones.
En la consola de Google Cloud , ve a la página BigQuery.
En el menú de navegación, haz clic en Gobernanza > Curación de metadatos.
En el panel Cloud Storage discovery, haz clic en el análisis de detección que ejecutaste para los datos no estructurados.
- En la sección Detalles del análisis, se muestran detalles sobre el análisis de detección.
- En la sección Estado del análisis, se muestran los resultados del descubrimiento del trabajo de análisis más reciente.
Haz clic en el vínculo de Conjunto de datos publicado.
En la lista de tablas que se muestra para el conjunto de datos de BigQuery, selecciona la tabla de objetos generada para el análisis de datos de detección.
Copia el ID de la tabla. La necesitarás en la siguiente sección.
Cómo ver los gráficos de entidades inferidas
Puedes ver la tabla de objetos del análisis de descubrimiento en Knowledge Catalog.
En la consola de Google Cloud , ve a la página Búsqueda de Knowledge Catalog.
Pega y busca la tabla de objetos cuyo ID seleccionaste en la sección anterior.
En los resultados de la búsqueda, haz clic en la tabla para abrir su página de entrada.
En la pestaña Detalles, en Aspectos, verifica la presencia del aspecto Perfil de gráfico. Este aspecto contiene los esquemas inferidos para las entidades y las relaciones.
Haz clic en la pestaña Estadísticas. En la pestaña Estadísticas, puedes ver la siguiente información:
Extracción semántica: Un banner indica que se detectaron entidades y relaciones extraíbles. Incluye un botón Extract para materializar los datos con SQL o la implementación de canalizaciones.
Descripción. Un resumen legible generado por IA explica el contenido de los datos no estructurados. Describe los nodos (entidades) principales que se descubrieron y cómo se relacionan entre sí a través de aristas (relaciones).
Canalizaciones. Es una lista de las canalizaciones de extracción de datos implementadas anteriormente y asociadas a este recurso. Puedes ver el nombre visible, la región, la hora de creación y el usuario que creó la canalización.
Entidades y relaciones inferidas. Un gráfico visual e interactivo muestra la estructura semántica descubierta de tus datos no estructurados. El gráfico contiene nodos que representan entidades distintas, por ejemplo, "Receta" y "Ingrediente", y aristas que representan las conexiones entre ellos, por ejemplo, "TieneEstadoDeAlérgeno". Puedes usar la leyenda para filtrar y explorar nodos y aristas específicos.
Entidades. Es una lista detallada de las entidades principales descubiertas. Puedes expandir cada entidad para ver su descripción generada por IA y su esquema inferido, que incluye nombres de campos, tipos de datos y descripciones de campos.
Relaciones. Es una lista detallada de las conexiones descubiertas entre entidades. Puedes expandir cada relación para ver su descripción y el esquema que define cómo se asignan las entidades entre sí.
Actualiza las estadísticas inferidas
Las estadísticas inferidas se almacenan en el catálogo de Knowledge Catalog como un aspecto adjunto a la tabla de objetos. Puedes actualizar estas estadísticas de forma manual con la consola de Google Cloud o la API deentry.patch.
Console
Para actualizar las estadísticas inferidas en la consola de Google Cloud , sigue estos pasos:
En la consola de Google Cloud , ve a la página Búsqueda de Knowledge Catalog.
Pega y busca el ID de la tabla de objetos.
En los resultados de la búsqueda, haz clic en la tabla para abrir su página de entrada.
Haz clic en la pestaña Estadísticas.
Junto a Entidades y relaciones inferidas, haz clic en Editar.
En el editor de JSON, modifica el aspecto
graph-profile.Haz clic en Guardar.
REST
Para actualizar las estadísticas inferidas con la API de REST, sigue estos pasos:
Crea un archivo llamado
payload.jsony agrega el contenido JSON del aspecto que deseas actualizar. Por ejemplo:{ "aspects": { "dataplex-types.global.graph-profile": { "data": { // Your updated inferred insights data } } } }Ejecuta el siguiente comando en la terminal:
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d @payload.json \ "https://dataplex.googleapis.com/v1/projects/<var>PROJECT_ID</var>/locations/<var>LOCATION</var>/entryGroups/<var>ENTRY_GROUP_ID</var>/entries/<var>ENTRY_ID</var>?updateMask=aspects"Reemplaza lo siguiente:
PROJECT_ID: El ID de tu proyecto, por ejemplo,example-projectLOCATION: Es la ubicación de la entrada, por ejemplo,us-central1.ENTRY_GROUP_ID: Es el ID del grupo de entradas, por ejemplo,example-entry-group.ENTRY_ID: El ID de la entrada, por ejemplo,example-entry
Para obtener más información y muestras de código en otros lenguajes, consulta Cómo actualizar un aspecto de entrada.
Extrae datos a BigQuery
Puedes materializar las entidades y las relaciones inferidas en tablas o vistas estructuradas en BigQuery con SQL o una canalización automatizada.
En la pestaña Estadísticas, haz clic en Extracción.
Elige uno de los siguientes métodos según tus necesidades de análisis y la escala de tus datos no estructurados:
Extract by SQL: Elige esta opción para realizar análisis rápidos y ad hoc, trabajar con conjuntos de datos pequeños o medianos, o cuando quieras usar un enfoque sin infraestructura con modelos remotos de BigQuery.
Para realizar la extracción con SQL, sigue estos pasos:
- Selecciona Extraer con SQL.
- En el panel Extraer con SQL, selecciona un conjunto de datos de destino. El conjunto de datos debe estar en la misma ubicación que la fuente.
- Haz clic en Extract.
- En el editor de BigQuery, se abrirá una consulta completada previamente. Ejecuta la consulta para crear tablas y vistas estándar.
Para obtener más información sobre cómo usar SQL para extraer estadísticas de documentos, consulta Procesa documentos con la función
ML.PROCESS_DOCUMENT.Extracción por canalización: Elige esta opción para el procesamiento de datos a gran escala o cuando necesites una lógica de reintento sólida, un manejo de errores y una orquestación automatizada para controlar grandes volúmenes de documentos.
Para realizar la extracción con una canalización, sigue estos pasos:
- Selecciona Extraer con una canalización.
- En el panel Extraer con canalización, ingresa un nombre visible para la canalización.
- Selecciona una región.
- Selecciona un conjunto de datos de destino. El conjunto de datos debe estar en la misma ubicación que la fuente.
- Haz clic en Extract. Esto crea una canalización de BigQuery que coordina la materialización de los datos.
- Ejecuta todas las tareas de la canalización para generar vistas estructuradas de nodos y aristas.
Para obtener más información sobre la ejecución de flujos de trabajo de datos, consulta Introducción a Dataform.
Después de extraer y materializar las estadísticas semánticas en BigQuery, puedes realizar las siguientes tareas:
Consulta los datos estructurados. Ejecuta consultas de SQL estándar en las tablas recién creadas para analizar las entidades y las relaciones extraídas.
Unir con datos existentes Combina las estadísticas cualitativas extraídas de tus archivos no estructurados con tus conjuntos de datos estructurados existentes de BigQuery (por ejemplo, une los datos de facturas analizados con tus tablas de contabilidad).
Explora las estadísticas de datos. Usa la función Estadísticas de datos en BigQuery Studio para generar automáticamente preguntas en lenguaje natural y consultas de SQL para tus nuevos recursos estructurados.
Analizar con Gemini Usa Gemini en BigQuery para realizar análisis conversacionales, resumir tendencias o crear paneles en Data Studio basados en los datos extraídos.