En esta guía, se explica cómo solucionar problemas comunes con los análisis de descubrimiento de datos de Knowledge Catalog (también llamados descubrimiento independiente), incluidas las fallas de publicación de tablas y los errores de incompatibilidad de esquemas.
Falla en la publicación de tablas de BigQuery (FAILED_BIGQUERY_TABLE_PUBLISH)
Cuando se ejecuta un análisis de descubrimiento, es posible que no se publiquen las tablas en BigQuery. En este caso, el análisis registra una acción FAILED_BIGQUERY_TABLE_PUBLISH en Cloud Logging.
Este problema se produce debido a las siguientes condiciones:
- Permisos de IAM insuficientes: La cuenta de servicio de Knowledge Catalog o la cuenta de servicio de conexión de BigQuery no tienen los roles necesarios para delegar conexiones, acceder a Cloud Storage o escribir en el conjunto de datos de destino.
- Incompatibilidad de conexión o conjunto de datos de BigQuery: El ID de conexión especificado no es válido, o la conexión y el conjunto de datos de destino se encuentran en regiones diferentes.
- Errores de configuración de la tabla: La creación o modificación de la tabla aplica parámetros de configuración incorrectos o no compatibles.
Para resolver este problema, realiza las siguientes verificaciones:
- Verifica los roles de la cuenta de servicio:
Confirma que la cuenta de servicio de Knowledge Catalog
service-PROJECT_NUMBER@gcp-sa-dataplex.iam.gserviceaccount.comtenga el rol Agente de servicio de publicación de Dataplex Discovery BigLake (roles/dataplex.discoveryBigLakePublishingServiceAgent) . - Verifica los permisos de conexión:
Si creas tablas de BigLake, verifica que la cuenta de servicio de conexión de BigQuery tenga acceso de lectura al bucket de Cloud Storage (con
roles/storage.objectVieweroroles/dataplex.discoveryServiceAgent). - Verifica la ubicación de la conexión y el conjunto de datos: Asegúrate de que la conexión de BigQuery y el conjunto de datos de BigQuery existan en la misma región y que sean compatibles con la ubicación del bucket de Cloud Storage.
- Inspecciona los registros para obtener detalles:
Explora los registros de trabajos de DataScan en Cloud Logging. Si el error contiene
BigQuery: Permission denied, verifica los permisos de la cuenta de servicio. Si contieneTABLE_CONFIG, verifica que los archivos de datos cumplan con los requisitos de BigQuery.
Falla la creación de tablas de BigLake para buckets grandes de Cloud Storage
Cuando un análisis de descubrimiento procesa buckets de Cloud Storage con un gran volumen de datos o archivos individuales grandes (por ejemplo, archivos Avro de más de 30 MB), el análisis puede crear correctamente el conjunto de datos de BigQuery, pero no publicar las tablas de BigLake.
Cuando esto sucede, es posible que observes los siguientes errores en Cloud Logging:
FAILED_BIGQUERY_TABLE_PUBLISHcom.google.cloud.bigquery.BigQueryException: Read timed out
Este problema es una limitación de escalabilidad conocida. Si necesitas el aprovisionamiento inmediato de tablas, configura tu análisis de descubrimiento para incluir un subconjunto más pequeño y filtrado de los datos de tu bucket.
Incompatibilidades de esquemas de carpetas de Cloud Storage
Un análisis de descubrimiento de datos no puede registrar tablas externas o no detecta archivos en ciertas carpetas.
Este problema se produce si tus carpetas de Cloud Storage contienen archivos con esquemas incompatibles o formatos diferentes. El análisis de descubrimiento agrupa los archivos en una sola tabla solo si están en la misma carpeta y tienen un esquema compatible.
Cuando un análisis de descubrimiento de datos analiza una ruta de acceso de Cloud Storage, espera que los archivos dentro de una carpeta y la estructura de partición en las carpetas sean coherentes. El análisis marca una acción si detecta alguna de las siguientes opciones:
- Formato de datos no válido (
INVALID_DATA_FORMAT): Se encuentran formatos de datos incoherentes dentro de la misma carpeta o en las particiones (por ejemplo, combinar archivos.csvy.parqueten el mismo directorio). - Definición de partición no válida (
INVALID_PARTITION_DEFINITION): Las claves de partición son incoherentes o faltan. Por ejemplo, usarYear=2023/Mon=Janen una ruta de acceso yYear=2023/Dept=Salesen otra. - Esquema de datos incompatible (
INCOMPATIBLE_DATA_SCHEMA): Se detectan esquemas incoherentes o incompatibles en los archivos dentro de la misma carpeta o tabla.
Para los formatos con tipos definidos, como Avro y Parquet, las incompatibilidades de esquemas se producen debido a lo siguiente:
- Tipos de datos incompatibles: Una columna tiene un tipo
stringen un archivo y unintobooleantipo en otro. - Faltan valores predeterminados: Se agregan o borran campos nuevos en archivos más recientes sin especificar valores predeterminados en la definición de esquema, lo que impide la evolución correcta del esquema.
- Formato de archivo dañado: Uno o más archivos están dañados o corruptos, lo que provoca que el análisis no pueda leer ni extraer el esquema.
Para resolver este problema, verifica la estructura de tus archivos y las definiciones de esquema:
- Organiza los archivos por esquema y formato: Verifica que todos los archivos de una sola carpeta compartan el mismo formato y estructura de esquema. Mueve los archivos con diferentes columnas, tipos primitivos o formatos a carpetas o prefijos separados para que se puedan registrar como tablas separadas.
- Usa definiciones de partición coherentes:
Asegúrate de que las claves y estructuras de partición sean coherentes en todas las
carpetas de partición (por ejemplo, usar de forma coherente
Year=YYYY/Month=MM/). - Sigue las reglas de evolución del esquema: Cuando actualices esquemas (como agregar o quitar campos de archivos Avro), siempre define valores predeterminados para que el servicio de descubrimiento pueda combinar las variantes de esquema de forma correcta.
- Identifica archivos dañados: Verifica el resultado o los registros del análisis para identificar si un archivo en particular no se puede decodificar. Mueve los archivos de forma temporal para determinar si un archivo específico provoca que falle el análisis.
Las tablas descubiertas no se actualizan con los cambios de esquema
Después de modificar archivos en Cloud Storage o ejecutar un análisis nuevo, el esquema actualizado no se refleja en las tablas de BigQuery publicadas.
Este problema se produce si la tabla publicada tiene la etiqueta metadata-managed-mode establecida en user_managed. De forma predeterminada, el descubrimiento publica tablas como discovery_managed. Si tú u otro usuario editan manualmente las propiedades del esquema de la tabla, debes cambiar la etiqueta a user_managed para bloquear las actualizaciones automáticas.
Para resolver este problema, verifica las etiquetas de la tabla en BigQuery:
- En la Google Cloud consola de, ve a la página BigQuery.
- En el panel Explorador , expande tu proyecto, selecciona el conjunto de datos y haz clic en la tabla afectada.
- Haz clic en la pestaña Detalles.
- En la sección Etiquetas, verifica el valor de la clave
metadata-managed-mode. Si deseas que el análisis de descubrimiento reanude la administración y la actualización del esquema, haz clic en Editar detalles y cambia el valor a
discovery_managed.
Obtenga asistencia
Si necesitas ayuda para resolver un problema que no se aborda en este documento, comunícate con Atención al cliente de Cloud.