[ Google - GCP ] Solución: Error de BigQuery, especificación de URI no válida. El valor de URI de la opción debe ser un URI comodín.

Descripción del problema

Durante el proceso de exportación de datos al depósito GS mediante BigQuery, el almacén de bases de datos de Google Cloud, se produjo un error:

Especificación de URI no válida. El valor de la opción 'uri' debe ser un URI comodín.

  • Las declaraciones de BigQuery ejecutadas son las siguientes:
EXPORT DATA OPTIONS(
  uri='gs://test_bucket/GENERATEDB_DATA.csv',
  format='CSV',
  overwrite=true,
  header=true,
  field_delimiter=',') AS
SELECT * FROM `test.test_table`
limit 50;

Después de la ejecución, aparecerá un mensaje de error en la ventana de comando, como se muestra en la siguiente figura:

Insertar descripción de la imagen aquí

Análisis de causa:

Como puede verse en el mensaje de error, la causa del error es que el URI es incorrecto. La solución final es modificar la ruta del URI. Entonces, ¿por qué es incorrecta? Aquí tienes una explicación.

Primero, la declaración oficial normal de datos de exportación en GCP es la siguiente:

EXPORT DATA OPTIONS(
  uri='gs://bucket/folder/*.csv',
  format='CSV',
  overwrite=true,
  header=true,
  field_delimiter=';') AS
SELECT field1, field2 FROM mydataset.table1 ORDER BY field1 LIMIT 10

Tenga en cuenta que el valor del uri anterior es un método de escritura fijo gs:// + bucket的名字 + 文件夹(可选) + 通配的csv文件名. La sintaxis EXPORT DATA no admite la escritura directa de un único archivo para exportar. Para obtener instrucciones oficiales, haga clic aquí .


solución:

Modifique la sintaxis de EXPORTAR DATOS y cambie uri a una expresión comodín. El código es el siguiente:

EXPORT DATA OPTIONS(
  uri='gs://test_bucket/GENERATEDB_DATA_*.csv',
  format='CSV',
  overwrite=true,
  header=true,
  field_delimiter=',') AS
SELECT * FROM `test.test_table`
limit 50;

Una vez que la ejecución final sea exitosa nuevamente, el archivo exportado se puede ver en el depósito GS:

Insertar descripción de la imagen aquí

Agregado : BigQuery admite un único operador comodín (*) en cada URI. Los comodines pueden aparecer en cualquier parte del URI, pero no pueden incluirse en el nombre del depósito. Utilice el operador comodín para indicarle a BigQuery que cree varios archivos de fragmentos según el patrón proporcionado. El operador comodín reemplaza un número (comenzando en 0) con 12 bits rellenados hacia la izquierda. Por ejemplo, si un URI tiene un carácter comodín al final de su nombre de archivo, cuando se creen los archivos, el primer archivo tendrá 000000000000 añadido al final de su nombre, el segundo archivo tendrá 000000000001 añadido a su nombre. etcétera.

[ 本文作者 ]   bluetata
[ 原文链接 ]   https://bluetata.blog.csdn.net/article/details/135508108
[ 最后更新 ]   01/10/2024 18:16
[ 版权声明 ]   如果您在非 CSDN 网站内看到这一行,
说明网络爬虫可能在本人还没有完整发布的时候就抓走了我的文章,
可能导致内容不完整,请去上述的原文链接查看原文。

Supongo que te gusta

Origin blog.csdn.net/dietime1943/article/details/135508108
Recomendado
Clasificación