Soluciona problemas de transferencias de datos

En esta página, se explica cómo solucionar problemas cuando transfieres o cargas datos en BigQuery. Puedes resolver errores comunes relacionados con el Servicio de transferencia de datos de BigQuery, las conexiones de red en Cloud de Confiance by S3NS, Amazon Web Services (AWS), Cloud SQL y las redes de nube privada virtual (VPC), así como los trabajos de carga de datos CSV desde Cloud Storage.

Soluciona problemas relacionados con la configuración de una transferencia

Para obtener información sobre cómo resolver problemas relacionados con el Servicio de transferencia de datos de BigQuery, consulta Soluciona problemas relacionados con la configuración de una transferencia.

Si configuras o ejecutas transferencias desde fuentes de datos externas o de socios, consulta Soluciona problemas relacionados con la configuración de una transferencia de terceros.

Diagnostica trabajos con vistas de INFORMATION_SCHEMA

Puedes consultar la vista INFORMATION_SCHEMA.JOBS para diagnosticar trabajos de carga y consultas de transferencia lentos o con errores casi en tiempo real. Cuando falla un trabajo de carga o una consulta de transferencia, inspecciona las columnas error_result y errors para identificar la causa raíz, como discrepancias de esquemas, límites de cuota o errores de permisos.

En el siguiente ejemplo, se consulta INFORMATION_SCHEMA.JOBS para recuperar los detalles de los errores de los trabajos de carga fallidos en las últimas 24 horas:

SELECT
  job_id,
  creation_time,
  user_email,
  error_result.reason AS error_reason,
  error_result.message AS error_message,
  errors
FROM
  `region-REGION`.INFORMATION_SCHEMA.JOBS
WHERE
  job_type = 'LOAD'
  AND state = 'DONE'
  AND error_result IS NOT NULL
  AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
ORDER BY
  creation_time DESC;

Reemplaza <var>REGION</var> por el nombre de la región del conjunto de datos, como us o europe-west1.

Cómo solucionar problemas de conexión de red durante la transferencia

Cuando transfieres datos desde proveedores externos de la nube o instancias de bases de datos privadas, el enrutamiento de red o las reglas de firewall pueden bloquear la conectividad. Usa las siguientes secciones para solucionar problemas relacionados con las vinculaciones de VPN y las conexiones de red privada.

Adjuntos de red y VPN de AWSCloud de Confiance

Si tienes problemas para configurar el adjunto de red, haz lo siguiente:

  • Asegúrate de que las conexiones de VPN estén en funcionamiento en la consola de AWS y en la consola de Cloud de Confiance .
  • Revisa los registros de la VPN para ver si hay errores o paquetes descartados.
  • Verifica que las tablas de enrutamiento en AWS yCloud de Confiance estén configuradas correctamente.
  • Asegúrate de que los puertos necesarios estén abiertos en los grupos de seguridad de AWS y en las reglas de firewall de Cloud de Confiance .

Para obtener más información sobre cómo configurar adjuntos de VPN, consulta Crea una VPN de AWS-Cloud de Confiance y un adjunto de red.

Acceso a la instancia de Cloud SQL

Si tienes problemas para configurar tu red, haz lo siguiente:

  • Asegúrate de que se haya establecido el intercambio de tráfico entre VPCs y de que las rutas estén configuradas correctamente.
  • Verifica que las reglas de firewall permitan el tráfico en los puertos requeridos.
  • Verifica los registros del proxy de Cloud SQL para detectar errores y asegúrate de que se ejecute correctamente.
  • Asegúrate de que el adjunto de red esté configurado y conectado correctamente.

Para obtener más información sobre cómo configurar el acceso privado a la base de datos, consulta Conéctate a una instancia de Cloud SQL.

Soluciona problemas relacionados con la carga de archivos CSV

Cuando cargas datos CSV de Cloud Storage en BigQuery, los trabajos pueden fallar debido a errores de formato, límites de tamaño de archivo o problemas de detección automática de esquemas. Usa las siguientes secciones para resolver errores comunes de carga de CSV.

Soluciona errores de análisis

Si hay un problema cuando se analizan tus archivos CSV, el recurso errors del trabajo de carga se propaga con los detalles del error.

En general, estos errores identifican el inicio de la línea problemática con un desplazamiento de bytes. Para los archivos sin comprimir, puedes usar gcloud storage con el argumento --recursive así puedes acceder a la línea relevante.

Por ejemplo, ejecuta el comando bq load y recibe un error:

bq load
    --skip_leading_rows=1 \
    --source_format=CSV \
    mydataset.mytable \
    gs://my-bucket/mytable.csv \
    'Number:INTEGER,Name:STRING,TookOffice:STRING,LeftOffice:STRING,Party:STRING'

El error en el resultado es similar al siguiente:

Waiting on bqjob_r5268069f5f49c9bf_0000018632e903d7_1 ... (0s)
Current status: DONE
BigQuery error in load operation: Error processing job
'myproject:bqjob_r5268069f5f49c9bf_0000018632e903d7_1': Error while reading
data, error message: Error detected while parsing row starting at position: 1405.
Error: Data between close quote character (") and field separator.
File: gs://my-bucket/mytable.csv
Failure details:
- gs://my-bucket/mytable.csv: Error while reading data,
error message: Error detected while parsing row starting at
position: 1405. Error: Data between close quote character (") and
field separator. File: gs://my-bucket/mytable.csv
- Error while reading data, error message: CSV processing encountered
too many errors, giving up. Rows: 22; errors: 1; max bad: 0; error
percent: 0

Según el error anterior, hay un error de formato en el archivo. Para ver el contenido del archivo, ejecuta el comando gcloud storage cat:

gcloud storage cat 1405-1505 gs://my-bucket/mytable.csv --recursive

El resultado es similar a lo siguiente:

16,Abraham Lincoln,"March 4, 1861","April 15, "1865,Republican
18,Ulysses S. Grant,"March 4, 1869",
...

Según el resultado del archivo, el problema es una comilla mal ubicada en "April 15, "1865.

Archivos CSV comprimidos

La depuración de los errores de análisis es más difícil para los archivos CSV comprimidos, ya que el desplazamiento de bytes informado se refiere a la ubicación en el archivo sin comprimir. En el siguiente comando gcloud storage cat se transmite el archivo desde Cloud Storage, descomprime el archivo, identifica el desplazamiento de bytes adecuado y, luego, imprime la línea con el error de formato:

gcloud storage cat gs://my-bucket/mytable.csv.gz | gunzip - | tail -c +1406 | head -n 1

El resultado es similar a lo siguiente:

16,Abraham Lincoln,"March 4, 1861","April 15, "1865,Republican

Soluciona problemas de errores de cuota

Usa la información de esta sección para solucionar problemas relacionados con errores de cuota o límite al cargar archivos CSV en BigQuery.

Si cargas un archivo CSV grande mediante el comando bq load con la marca --allow_quoted_newlines, es posible que aparezca este error.

Mensaje de error

Input CSV files are not splittable and at least one of the files is larger than
the maximum allowed size. Size is: ...

Solución

Para resolver este error, haz lo siguiente:

  • Establece la marca --allow_quoted_newlines en false.
  • Divide el archivo CSV en fragmentos más pequeños que tienen menos de 4 GB.

Para obtener más información sobre los límites que se aplican cuando cargas datos en BigQuery, consulta Trabajos de carga.

Soluciona problemas relacionados con la detección automática de esquemas

Cuando se detecta automáticamente el esquema de los archivos CSV, es posible que se produzca el siguiente error:

Error: Error while reading data, error message: CSV processing encountered too many errors, giving up.

Este error puede ocurrir cuando tu archivo CSV tiene una fila de encabezado con valores de cadena y BigQuery no la detectó como encabezado. Puedes usar la opción --skip_leading_rows para omitir la fila de encabezado.