Cuotas y límites

En las siguientes listas, se describen los límites de frecuencia y de cuota de BigQuery.

BigQuery limita la frecuencia máxima de solicitudes entrantes y aplica las cuotas correspondientes a cada proyecto. Las políticas específicas varían según la disponibilidad de los recursos, el perfil del usuario, el historial de uso del servicio y otros factores, y están sujetas a cambios sin previo aviso.

Solicita un aumento de cuota

  • Algunas cuotas de BigQuery se muestran en Google Cloud Console. Para estas cuotas, puedes solicitar un aumento de cuota mediante Cloud Console. Para obtener orientación paso a paso a lo largo de este proceso, abre el instructivo Cómo solicitar un aumento de cuota en Google Cloud Console:

    GUIARME

  • Para solicitar un aumento de las cuotas que no se muestran en Google Cloud Console, comunícate con Atención al cliente de Cloud.

  • No se pueden aumentar algunas cuotas y límites. Por ejemplo, cuotas y límites que proporcionan protecciones del sistema.

Para obtener más información, consulta Solicita un límite de cuota mayor.

Trabajos de consulta

Se aplican los siguientes límites a trabajos de consulta creados automáticamente mediante la ejecución de consultas interactivas y a trabajos enviados de manera programática mediante llamadas a los métodos jobs.query y jobs.insert de tipo de consulta.

  • Límite de frecuencia de simultaneidad para consultas interactivas: 100 consultas simultáneas

    Las consultas con resultados que se muestran desde la caché de consultas se descuentan de este límite por el tiempo que le lleve a BigQuery determinar si es un acierto de caché. Las consultas de ejecución de pruebas no se descuentan de este límite. Puedes especificar una consulta de ejecución de prueba mediante la marca --dry_run.

    Este límite se aplica a nivel del proyecto. Para aumentar el límite, comunícate con el equipo de asistencia o con Ventas.

  • Límite de frecuencia de simultaneidad para consultas interactivas en fuentes externas de datos de Cloud Bigtable: 4 consultas simultáneas

    Tienes un límite de 4 consultas simultáneas en una fuente externa de datos de Bigtable.

  • Límite de frecuencia de simultaneidad para consultas de SQL heredado que contienen funciones definidas por el usuario (UDF): 6 consultas simultáneas

    El límite de frecuencia de simultaneidad para consultas de SQL heredado que contienen UDF incluye consultas tanto interactivas como por lotes. También se toman en cuenta las consultas interactivas que contienen UDF en el límite de frecuencia de simultaneidad de las consultas interactivas. No se aplica este límite a consultas de SQL estándar.

  • Consultas federadas entre regiones: 1 TB por proyecto al día

    Si la ubicación de procesamiento de consultas de BigQuery y la ubicación de la instancia de Cloud SQL son distintas, corresponde a una consulta entre regiones. Puedes ejecutar hasta 1 TB en consultas entre regiones por proyecto al día. Revisa Consultas federadas de Cloud SQL.

  • Límite diario de tamaño de las consultas: ilimitado según la configuración predeterminada

    Puedes configurar cuotas personalizadas para limitar la cantidad de datos que pueden consultar los usuarios.

  • Límite de actualización diario de tablas de destino: 1,500 actualizaciones diarias por tabla

    Las tablas de destino de un trabajo de consulta están sujetas al límite de 1,500 actualizaciones diarias por tabla. Las actualizaciones de tablas de destino incluyen operaciones que agregan y reemplazan datos, las cuales se realizan mediante consultas que se ejecutan con Cloud Console, la herramienta de línea de comandos bq o mediante una llamada a los métodos de API jobs.query y jobs.insert de tipo de consulta.

  • Límite de tiempo de ejecución de consultas o secuencias de comandos: 6 horas

    Este límite no puede cambiarse. En algunos casos es posible reintentar las consultas. Cuando esto ocurre, la consulta en cuestión puede ejecutarse por seis horas más y puede volver a intentarse hasta tres veces. Esto puede causar un tiempo de ejecución superior a seis horas.

  • Cantidad máxima de tablas referenciadas por consulta: 1,000

  • Longitud máxima de consulta de SQL heredado sin resolver: 256 KB

  • Longitud máxima de consulta de SQL estándar sin resolver: 1 MB

  • Longitud máxima de consulta de SQL estándar y heredado resuelta: 12 MB

    El límite de la longitud de las consultas resueltas incluye la longitud de todas las vistas y tablas de comodines a las que se hace referencia en la consulta.

  • Cantidad máxima de parámetros de consulta de SQL estándar: 10,000

  • Tamaño máximo de la respuesta: 10 GB con compresión

    Los tamaños varían según el índice de compresión de los datos. El tamaño real de respuesta puede ser mucho mayor que 10 GB. El tamaño máximo de respuesta es ilimitado cuando se escriben los resultados de una consulta grande en una tabla de destino.

  • Tamaño máximo por fila: 100 MB

    El límite máximo del tamaño de la fila es aproximado, ya que se basa en la representación interna de los datos de la fila. Este se aplica durante ciertas etapas de la ejecución del trabajo de consulta.

  • Cantidad máxima de columnas en una tabla, resultado de consulta o definición de la vista: 10,000

  • Cantidad máxima de ranuras simultáneas por proyecto para precios según demanda: 2,000

    Se comparten las ranuras de BigQuery entre todas las consultas de un mismo proyecto. BigQuery podría sobrepasar este límite para acelerar las consultas.

    Para verificar cuántas ranuras estás usando, consulta cómo supervisar BigQuery mediante Cloud Monitoring.

    Para obtener información sobre los límites que se aplican a las funciones definidas por el usuario en consultas de SQL, consulta los límites de UDF.

  • Consultas programadas

    A pesar de que en las consultas programadas se usa el Servicio de transferencia de datos de BigQuery, estas no se transfieren y no están sujetas a cuotas de trabajo de carga. En cambio, están sujetas a las mismas cuotas y límites de BigQuery que las consultas manuales.

Trabajos de carga

Los siguientes límites se aplican a los trabajos creados de forma automática mediante la carga de datos con Cloud Console o la herramienta de línea de comandos bq. También se aplican los límites a los trabajos de carga enviados de manera programática con el método de API jobs.insert de tipo de carga.

Se aplican los siguientes límites cuando cargas datos en BigQuery.

  • Trabajos de carga diarios por tabla: 1,500 (incluye operaciones con errores)
  • Trabajos de carga diarios por proyecto: 100,000 (incluye operaciones con errores)
  • Límites de tamaño de filas y celdas:
    Formato de los datos Límite máximo
    CSV 100 MB (tamaño de fila y celda)
    JSON 100 MB (tamaño de fila)
  • Cantidad máxima de columnas por tabla: 10,000
  • Tamaños de archivo máximos:
    Tipo de archivo Comprimido Sin comprimir
    CSV 4 GB 5 TB
    JSON 4 GB 5 TB
  • Tamaño máximo por trabajo de carga: 15 TB en todos los archivos de entrada para CSV, JSON, Avro, Parquet y ORC
  • Tamaño máximo de bloques de datos de archivos Avro: 16 MB
  • Cantidad máxima de URI de origen en la configuración del trabajo: 10,000 URI
  • Cantidad máxima de archivos por trabajo de carga: 10 millones de archivos en total, incluidos todos los archivos que coincidan con todos los URI comodín
  • Límite de tiempo para la ejecución de un trabajo de carga: 6 horas

A excepción de los conjuntos de datos ubicados en EE.UU., debes cargar datos desde un bucket de Cloud Storage en la misma región en la que se ubica el conjunto de datos (este bucket puede ser tanto multirregional como regional en la misma región que el conjunto de datos). Puedes cargar datos en un conjunto de datos ubicado en EE.UU. desde cualquier región.

Si superas la cuota de trabajo de carga con frecuencia debido a actualizaciones frecuentes, considera transmitir datos a BigQuery en su lugar.

Para obtener más información, consulta Introducción a la carga de datos en BigQuery.

Trabajos de copia

Se aplican los siguientes límites a la copia de tablas en BigQuery. Se aplican a los trabajos creados de forma automática mediante la copia de datos con la herramienta de línea de comandos bq o Cloud Console. También se aplican a los trabajos de copia enviados de manera programática mediante el método de API de tipo de copia jobs.insert.

  • Trabajos de copia diarios por tabla de destino: 1,000 (incluye operaciones con errores)

  • Trabajos de copia diarios por proyecto: 100,000 (incluye operaciones con errores)

  • Trabajos de copia entre regiones por tabla de destino por día: 100 (incluye las fallas)

  • Trabajos de copia entre regiones por proyecto por día: 2,000 (incluye operaciones con errores)

Se aplican los siguientes límites a la copia de conjuntos de datos:

  • Cantidad máxima de tablas en el conjunto de datos de origen: 20,000 tablas

  • Cantidad máxima de tablas que se pueden copiar por ejecución en un conjunto de datos de destino en la misma región: 20,000 tablas por ejecución

  • Cantidad máxima de tablas que se pueden copiar por ejecución en un conjunto de datos de destino de una región diferente: 1,000 tablas por ejecución

    Por ejemplo, si configuras una copia entre regiones de un conjunto de datos que tiene 8,000 tablas, el Servicio de transferencia de datos de BigQuery crea de forma automática ocho ejecuciones de manera secuencial. La primera ejecución copia 1,000 tablas; luego, 24 horas después, otra ejecución copia 1,000 tablas y así hasta que se copien todas las tablas del conjunto de datos, hasta un máximo de 20,000 tablas por conjunto de datos.

Trabajos de exportación

Se aplican los siguientes límites a trabajos que exportan datos desde BigQuery. Se aplican a los trabajos creados de forma automática mediante la exportación de datos con la herramienta de línea de comandos bq o Cloud Console. También se aplican a los trabajos de exportación enviados de manera programática con el método de API jobs.insert de tipo de carga.
  • Exportaciones por día: 100,000 por proyecto, con un máximo de 50 TB diarios (este límite de datos se aplica a la suma de todas las exportaciones)
  • Para exportar más de 50 TB de datos por día, usa la API de Storage Read o la declaración EXPORT DATA.

  • URI comodín: 500 URI comodín por exportación

Límites de conjuntos de datos

Se aplican los siguientes límites a los conjuntos de datos:

  • Cantidad de conjuntos de datos por proyecto: no restringida

  • Cantidad de tablas por conjunto de datos: no restringida

    Cuando usas una llamada a la API, se ralentiza el rendimiento de la enumeración a medida que te acercas a las 50,000 tablas por conjunto de datos. Cloud Console puede mostrar hasta 50,000 tablas por cada conjunto de datos.

  • Cantidad máxima de vistas autorizadas en la lista de control de acceso de un conjunto de datos: 2,500

    Puedes crear una vista autorizada a fin de restringir el acceso a tus datos de origen. La vista autorizada se crea mediante una consulta de SQL que excluye las columnas que no quieras que los usuarios vean cuando consultan la vista. Puedes agregar hasta 2,500 vistas autorizadas a la lista de control de acceso de un conjunto de datos.

  • Frecuencia máxima de operaciones de actualización de metadatos de los conjuntos de datos: 5 operaciones cada 10 segundos por conjunto de datos

    El límite de actualización de metadatos del conjunto de datos incluye todas las operaciones de actualización de metadatos realizadas mediante Cloud Console, la herramienta de línea de comandos de bq o bibliotecas cliente, o llama a los métodos de la API datasets.insert, datasets.patch, datasets.update o ejecuta las declaraciones de DDL CREATE SCHEMA o ALTER SCHEMA.

  • Longitud máxima de la descripción de un conjunto de datos: 16,384 caracteres

    Cuando agregas una descripción a un conjunto de datos, el texto puede tener, como máximo, 16,384 caracteres.

Límites de la tabla

Se aplican los siguientes límites a las tablas de BigQuery.

Todas las tablas

  • Longitud máxima de la descripción de una columna: 1,024 caracteres

    Cuando agregas una descripción a una columna, el texto puede tener 1,024 caracteres como máximo.

  • Profundidad máxima de los registros anidados: 15

    Las columnas de tipo RECORD pueden contener tipos RECORD anidados, también llamados registros secundarios. El límite de profundidad de anidado máximo es de 15 niveles. Este límite es independiente de si los registros son escalares o basados en arrays (repetidos).

Tablas estándar

  • Cantidad máxima de operaciones en tablas por día: 1,500

    Puedes realizar hasta 1,500 operaciones diarias por tabla, ya sea que la operación agregue datos a una tabla o la trunque.

    En la cantidad máxima de operaciones en tablas, se incluye el total combinado de todos los trabajos de carga, de copia y de consulta que agregan datos a una tabla de destino o la reemplazan, o que usan una declaración DML INSERT, UPDATE, DELETE o MERGE para escribir datos en ella. Las declaraciones DML se toman en cuenta en esta cuota, pero no están limitadas por ella. Es decir, estas declaraciones se incluyen en la cantidad de operaciones diarias que se suman en la cuota, pero no fallarán debido al límite.

    Por ejemplo, si ejecutas 500 trabajos de copia que agregan datos a mytable y 1,000 trabajos de consulta que agregan datos a mytable, habrás alcanzado la cuota.

  • Frecuencia máxima de operaciones de actualización de metadatos en la tabla: 5 operaciones cada 10 segundos por tabla

    El límite de actualización de metadatos de la tabla incluye todas las operaciones de actualización de metadatos realizadas mediante Cloud Console, la herramienta de línea de comandos bq, las bibliotecas cliente, una llamada a los métodos de API tables.insert, tables.patch o tables.update, o la ejecución de las declaraciones DDL ALTER TABLE. Este límite también incluye el total combinado de todos los trabajos de carga, de copia y de consulta que se agregan o reemplazan en una tabla de destino. Este es un error transitorio que puedes reintentar con una retirada exponencial. Este límite no se aplica a las operaciones DML.

  • Cantidad máxima de columnas en una tabla, resultado de consulta o definición de la vista: 10,000

Tablas particionadas

  • Cantidad máxima de particiones por tabla particionada: 4,000

  • Cantidad máxima de particiones modificadas mediante un solo trabajo: 4,000

    Cada operación de trabajo (de consulta o carga) puede afectar a un máximo de 4,000 particiones. BigQuery rechazará cualquier trabajo de consulta o carga que afecte a más de 4,000 particiones.

  • Cantidad máxima de modificaciones de particiones por tabla particionada por tiempo de transferencia: 5,000

  • Cantidad máxima de modificaciones de particiones por tabla particionada por columna: 30,000

    Cada tabla particionada por tiempo de transferencia tiene un límite de 5,000 modificaciones de particiones por día, y una tabla particionada por columnas tiene un límite de 30,000 modificaciones de particiones.

    Se puede modificar una partición mediante una operación que agrega datos o los reemplaza en la partición. Entre las operaciones que modifican particiones se incluyen las siguientes: un trabajo de carga, una consulta que escribe los resultados en una partición o una declaración DML (INSERT, DELETE, UPDATE o MERGE) que modifica los datos de una partición.

    Un trabajo puede afectar a más de una sola partición. Por ejemplo, una declaración DML puede actualizar datos en múltiples particiones (tanto para tablas de tiempo de transferencia como para tablas particionadas). Los trabajos de carga y de consulta también pueden escribir en múltiples particiones, pero solo en tablas particionadas. Las declaraciones DML se toman en cuenta en esta cuota, pero no están limitadas por ella. Es decir, estas declaraciones se incluyen en la cantidad de operaciones diarias que se suman en la cuota, pero no fallarán debido al límite.

    BigQuery usa la cantidad de particiones que afecta un mismo trabajo para determinar qué cantidad de la cuota consume el trabajo. Las inserciones de transmisión no afectan a esta cuota.

  • Frecuencia máxima de operaciones con particiones: 50 operaciones con particiones cada 10 segundos, por tabla

  • Cantidad máxima de rangos posibles para la partición de rangos: 10,000

    Este límite se aplica a la especificación de partición cuando se crea la tabla. Una vez que creas la tabla, también se aplica el límite de la cantidad de particiones reales.

Instantáneas de tablas

  • Cantidad máxima de trabajos de instantáneas de tablas simultáneas: 100

    Puedes ejecutar hasta 100 trabajos de instantáneas de tablas simultáneos por proyecto y por región.

  • Cantidad máxima de trabajos de instantáneas de tablas por día: 50,000

    Puedes ejecutar hasta 50,000 trabajos de instantáneas de tablas por día por proyecto y por región.

  • Cantidad máxima de trabajos por instantánea de tabla por día: 50

    Puedes ejecutar hasta 50 trabajos por día para una instantánea de tabla. Para aumentar el límite, comunícate con el equipo de asistencia o con ventas.

  • Cantidad máxima de actualizaciones de metadatos por instantánea de tabla cada 10 segundos: 5

    Puedes actualizar los metadatos de una instantánea de tabla hasta 5 veces cada 10 segundos.

Tablas externas

Se aplican los siguientes límites a las tablas almacenadas en Cloud Storage en los formatos Parquet, ORC, Avro, CSV o JSON.

  • Cantidad máxima de URI fuente por tabla externa: 10,000 URI

  • Cantidad máxima de archivos por tabla externa: 10 millones de archivos en total, incluidos todos los archivos que coincidan con todos los URI comodín

  • Tamaño máximo de datos almacenados en Cloud Storage por tabla externa en todos los archivos de entrada: 600 TB

    Se aplica este límite a los tamaños de archivos según lo almacenado en Cloud Storage. No es el mismo tamaño que se usa en la fórmula para calcular los precios de las consultas. En el caso de las tablas particionadas de forma externa, se aplica el límite después de la reducción de particiones.

Límites de funciones de tabla

Se aplican los siguientes límites a las funciones de tabla.

  • Longitud máxima de un nombre de función: 256 caracteres
  • Cantidad máxima de argumentos: 256
  • Longitud máxima de un nombre de argumento: 128 caracteres
  • Profundidad máxima de una cadena de referencia de función de tabla: 16
  • Profundidad máxima del argumento o resultado de tipo STRUCT: 15
  • Cantidad máxima de campos en un argumento o tabla de retorno de tipo STRUCT por función de tabla: 1,024
  • Cantidad máxima de columnas en la tabla que se muestra: 1,024
  • Longitud máxima de nombres de columnas de tablas de retorno: 128
  • Frecuencia de actualización máxima por función de tabla: 5 veces cada 10 segundos. Después de crear una función de tabla, puedes actualizar cada función hasta 5 veces cada 10 segundos.

Declaraciones de lenguaje de manipulación de datos (DML)

Las declaraciones DML de BigQuery no tienen límites de cuota.

Sin embargo, las declaraciones DML se toman en cuenta en la cantidad máxima de operaciones en tabla por día y modificaciones de particiones por día. Este límite no provocará errores en las declaraciones DML.

Seguridad a nivel de la fila

Description Cuota
Cantidad máxima de políticas de acceso de fila por tabla. 100
Cantidad total de políticas de acceso de fila a las que una consulta puede hacer referencia en tablas con políticas de acceso de fila 100
Declaraciones DDL CREATE/DROP 5 cada 10 segundos por recurso de política de acceso de fila en una tabla
Declaraciones DROP ALL ROW ACCESS POLICIES 5 cada 10 segundos por recurso de tabla
Enumera las políticas de acceso de fila (con la API de REST “rowAccessPolicies.list”) Cuota predeterminada de la API
Obtén las políticas de IAM de acceso de fila (con la API de “rowAccessPolicies.getIamPolicy”) Cuota predeterminada de la API de IAM

Inserciones de transmisión

Se aplican los siguientes límites para la transmisión de datos hacia BigQuery.

Si no propagas el campo insertId cuando insertas las filas, se aplican las siguientes cuotas. Para obtener más información, consulta la sección Inhabilita la anulación de duplicación de mejor esfuerzo. Esta es la forma recomendada de usar BigQuery para aumentar los límites de cuota de transferencia de transmisión.

  • Cantidad máxima de bytes por segundo: 1 GB

    Si no propagas datos al campo insertId para cada fila insertada, tendrás un límite de 1 GB por segundo y por proyecto. Este límite se aplica a nivel del proyecto. No se aplica para tablas individuales.

    Si superas esta cantidad, se generarán errores quotaExceeded.

Si propagas datos al campo insertId cuando insertas las filas, se aplican las siguientes cuotas.

  • Cantidad máxima de filas por segundo y por proyecto en las multirregiones us y eu: 500,000

    Si propagas datos al campo insertId para cada fila insertada, tendrás un límite de 500,000 filas por segundo en las multirregiones us y eu, por proyecto. Esta cuota es acumulativa en una multirregión determinada. Es decir, el límite de 500,000 se aplica a la suma de filas por segundo que se transmiten a todas las tablas de un proyecto determinado en una multirregión. Cada tabla tiene un límite adicional de 100,000 filas por segundo.

    Si superas el límite por proyecto o por tabla, se generarán errores quotaExceeded.

  • Cantidad máxima de filas por segundo y por proyecto en todas las demás ubicaciones: 100,000

    Si propagas datos al campo insertId para cada fila insertada, tendrás un límite de 100,000 filas por segundo en todas las ubicaciones, excepto en las multirregiones us y eu, por proyecto o tabla. Esta cuota es acumulativa en una región determinada. Es decir, el límite de 100,000 se aplica a la suma de filas por segundo que se transmiten a todas las tablas de un proyecto determinado en una región.

    Si superas esta cantidad, se generarán errores quotaExceeded.

  • Cantidad máxima de filas por segundo y por tabla: 100,000

    Si propagas datos al campo insertId para cada fila insertada, tendrás un límite de 100,000 filas por segundo y por tabla.

    Si superas esta cantidad, se generarán errores quotaExceeded.

  • Cantidad máxima de bytes por segundo: 100 MB

    Si propagas datos al campo insertId para cada fila insertada, tendrás un límite de 100 MB por segundo y por tabla.

    Si superas esta cantidad, se generarán errores quotaExceeded.

Se aplican las siguientes cuotas de transmisión sin importar si propagas datos al campo insertId:

  • Tamaño máximo por fila: 10 MB

    Si superas este valor, se generarán errores invalid.

  • Límite de tamaño de la solicitud HTTP: 10 MB (consulta la nota)

    Si superas este valor, se generarán errores invalid.

  • Cantidad máxima de filas por solicitud: 50,000 filas por solicitud

    Se recomienda una cantidad máxima de 500 filas. La agrupación en lotes puede aumentar el rendimiento y la capacidad de procesamiento hasta cierto punto, pero en detrimento de la latencia por solicitud. Una baja cantidad de filas por solicitud y la sobrecarga de cada solicitud pueden llevar a que la transferencia sea ineficiente. Si una solicitud abarca demasiadas filas, es posible que observes una disminución en la capacidad de procesamiento.

    Te recomendamos limitarte a un máximo de 500 filas por solicitud, pero puedes experimentar con los datos representativos (esquema y tamaño de datos) para determinar el tamaño de lote óptimo.

  • Longitud del campo insertId: 128

    Si superas este valor, se generarán errores invalid.

Si necesitas un aumento en la cuota de transmisión para tu proyecto, puedes inhabilitar la deduplicación de mejor esfuerzo. Para obtener aumentos de cuotas superiores a esos límites, puedes enviar una solicitud desde Google Cloud Console. Recibirás una respuesta a tu solicitud en un plazo de 2 a 3 días hábiles.

Límites de UDF

Se aplican los siguientes límites a las funciones definidas por el usuario, tanto temporales como persistentes, en las consultas de SQL.

  • Cantidad de datos que tu UDF de JavaScript genera cuando procesa una única fila: aproximadamente 5 MB o menos
  • Límite de frecuencia de simultaneidad para consultas de SQL heredado que contengan funciones definidas por el usuario (UDF): 6 consultas simultáneas
  • El límite de frecuencia de simultaneidad para consultas de SQL heredado que contienen UDF incluye consultas tanto interactivas como por lotes. También se toman en cuenta las consultas interactivas que contienen UDF en el límite de frecuencia de simultaneidad de las consultas interactivas. No se aplica este límite a consultas de SQL estándar.

  • Cantidad máxima de recursos de UDF de JavaScript, como archivos externos o BLOB de código intercalados, en un trabajo de consulta: 50
  • Tamaño máximo de cada BLOB de código intercalado: 32 KB
  • Tamaño máximo de cada recurso de código externo: 1 MB
Se aplican los siguientes límites a las funciones persistentes definidas por el usuario
    .
  • Longitud máxima de un nombre de función: 256 caracteres
  • Cantidad máxima de argumentos: 256
  • Longitud máxima de un nombre de argumento: 128 caracteres
  • Profundidad máxima de una cadena de referencia de función definida por el usuario: 16
  • Profundidad máxima del argumento o resultado de tipo STRUCT: 15
  • Cantidad máxima de campos en un argumento o resultado de tipo STRUCT por UDF: 1,024
  • Cantidad máxima de UDF únicas más las referencias de tablas por consulta: 1,000.

    Después de una expansión completa, cada UDF puede hacer referencia hasta a 1,000 tablas y UDF únicas en total

  • Cantidad máxima de bibliotecas JavaScript en la declaración CREATE FUNCTION: 50
  • Longitud máxima de rutas de acceso a bibliotecas JavaScript incluidas: 5,000 caracteres
  • Frecuencia de actualización máxima por UDF: 5 veces cada 10 segundos

    Después de crear la función, puedes actualizar cada función hasta 5 veces cada 10 segundos.

  • Cada BLOB de código intercalado tiene un límite de tamaño de 32 KB
  • Cada recurso de código de JavaScript tiene un límite de tamaño de 1 MB

Límites de vistas

  • Cantidad máxima de niveles de vistas anidadas: 16

    BigQuery admite un máximo de 16 niveles de vistas anidadas. Si hay más de 16 niveles, se mostrará un error de INVALID_INPUT.

  • Longitud máxima de una consulta de SQL estándar usada para definir una vista: 256,000 caracteres

    Cuando creas una vista, el texto de la consulta de SQL estándar puede tener 256,000 caracteres como máximo.

  • Cantidad máxima de vistas autorizadas en la lista de control de acceso de un conjunto de datos: 2,500

    Puedes crear una vista autorizada a fin de restringir el acceso a tus datos de origen. Una vista autorizada se crea mediante una consulta de SQL que excluye las columnas que no quieras que los usuarios vean cuando consultan la vista. Puedes agregar hasta 2,500 vistas autorizadas a la lista de control de acceso de un conjunto de datos.

Solicitudes a la API

Todas las solicitudes a la API

Se aplican los siguientes límites a todas las solicitudes a la API de BigQuery:

  • Solicitudes a la API por segundo y por usuario: 100

    Si realizas más de 100 solicitudes por segundo, se podría producir una limitación. Este límite no se aplica a inserciones de transmisión.

  • Solicitudes a la API simultáneas por usuario: 300

    Si realizas más de 300 solicitudes simultáneas por usuario, se podría producir una limitación. Este límite no se aplica a inserciones de transmisión.

Solicitudes tabledata.list

Con el método tabledata.list, se recuperan los datos de la tabla de un conjunto específico de filas. Es posible que otras API que incluyen jobs.getQueryResults y que obtienen resultados de jobs.query y jobs.insert también consuman la cuota de esta API. Se aplican los siguientes límites a las solicitudes tabledata.list:

  • Cantidad máxima de consultas tabledata.list por proyecto: 1000 por segundo

    Cuando llamas a tabledata.list, puedes enviar hasta 1000 solicitudes por segundo, por proyecto.

  • Cantidad máxima de bytes por segundo, por proyecto, que muestran las llamadas a tabledata.list: 60 MB por segundo

    Cuando haces una llamada a tabledata.list, puedes mostrar un máximo de 60 MB por segundo de datos de las filas de la tabla por proyecto. El límite se aplica al proyecto que contiene la tabla que se está leyendo.

  • Cantidad máxima de filas por segundo, por proyecto, que muestran las llamadas a tabledata.list: 150,000 por segundo

    Cuando llamas a tabledata.list, puedes mostrar un máximo de 150,000 filas de la tabla por segundo, por proyecto. El límite se aplica al proyecto que contiene la tabla que se está leyendo.

  • Cantidad máxima de filas que muestra una llamada a tabledata.list: 100,000 filas

    Cuando llamas a tabledata.list, la respuesta puede contener un máximo de 100,000 filas de la tabla. Para obtener más información, consulta Desplázate por los resultados mediante la API.

Solicitudes tables.insert

Con el método tables.insert, se crea una nueva tabla vacía dentro del conjunto de datos. Se aplican los siguientes límites a las solicitudes tables.insert:

Solicitudes projects.list

Con el método projects.list, se muestran todos los proyectos a los que se te otorgó acceso. Se aplican los siguientes límites a las solicitudes projects.list:

  • Cantidad máxima de solicitudes por segundo, por proyecto: 2

    Cuando llamas a projects.list, puedes crear un máximo de 2 solicitudes por segundo por proyecto.

Solicitudes jobs.get

Con el método jobs.get, se muestra información sobre un trabajo específico. Se aplican los siguientes límites a las solicitudes jobs.get:

  • Cantidad máxima de solicitudes por segundo, por proyecto: 1,000

    Cuando llamas a jobs.get, puedes crear un máximo de 1,000 solicitudes por segundo por proyecto.

Solicitudes jobs.query

Con el método jobs.query, se ejecuta una consulta de SQL de forma síncrona y se muestran resultados si se completa en un tiempo de espera especificado.

  • Tamaño máximo de respuesta: 10 MB

    De forma predeterminada, no hay un recuento de filas máximo para la cantidad de filas de datos que se mostrarán por página de resultados. Sin embargo, estás limitado a un tamaño máximo de respuesta de 10 MB. Puedes modificar la cantidad de filas que se muestran mediante el parámetro maxResults.

Solicitudes a la API de IAM

Se aplican los siguientes límites cuando se usan las funciones de la administración de identidades y accesos en BigQuery para recuperar y establecer políticas de IAM, así como para probar sus permisos.

  • Cantidad máxima de solicitudes por usuario: 25

    Tienes un límite de 25 solicitudes de IAM por segundo, por usuario y por proyecto.

  • Cantidad máxima de solicitudes por proyecto: 50

    Tienes un límite de 50 solicitudes de IAM por segundo a cada proyecto.

Si necesitas un aumento en la cuota de IAM para tu proyecto, puedes solicitarlo a través de Google Cloud Console. Recibirás una respuesta a tu solicitud en un plazo de 2 a 3 días hábiles.

Solicitudes a la API de lectura de BigQuery Storage Read

La API de Storage Read está sujeta a las siguientes cuotas y límites.

  • Máxima restricción de fila/longitud del filtro: 1 MB

    Cuando usas la llamada CreateReadSession a la API de lectura de almacenamiento, tienes un límite de restricción de fila máxima y de 1 MB para la longitud del filtro.

  • Solicitudes de plano de datos de lectura: 5,000 llamadas por minuto, por usuario y por proyecto

    Tienes un límite de 5,000 llamadas a ReadRows por minuto y por usuario, por proyecto.

  • Solicitudes del plano de control de lectura: 5,000 llamadas por minuto, por usuario y por proyecto

    Tienes un límite de 5,000 llamadas de operación de metadatos de la API de almacenamiento de lectura (CreateReadSession y SplitReadStream) por minuto, usuario y proyecto.

Solicitudes a la API de BigQuery Storage Write

La API de Storage Write está sujeta a las siguientes cuotas y límites.

  • Límite de frecuencia para crear transmisiones de escritura: 100 por minuto, por proyecto

    Las llamadas a CreateWriteStream tienen una tasa limitada. Si alcanzas este límite, vuelve a intentar la operación con retirada exponencial. Además, trata de espaciar las llamadas a CreateWriteStream. La transmisión predeterminada no está sujeta a esta cuota. Si no necesitas la duplicación de datos con el modo de confirmación, considera usar la transmisión predeterminada.

  • Bytes pendientes: 100 GB por proyecto

    Este límite es la cantidad máxima de bytes que puedes escribir en el modo pendiente antes de confirmar las transmisiones.

  • Conexiones simultáneas: 1,000 por proyecto.

  • Cantidad máxima de transmisiones que se pasaron a BatchCommitWriteStreams: 100.

    En el modo pendiente, el método BatchCommitWriteStreams toma una lista de transmisiones para confirmar. Si excedes este límite, el método mostrará un error. Como solución alternativa, llama a BatchCommitWriteStreams varias veces.

¿Cuándo se restablecen las cuotas?

Las cuotas diarias se restablecen en intervalos regulares durante el día a fin de reflejar su propósito de orientar comportamientos que limiten las frecuencias. También se realizan actualizaciones intermitentes para evitar interrupciones prolongadas cuando una cuota se agota. Por lo general, se habilita más capacidad de la cuota en unos minutos en lugar de restablecerla por completo una vez al día.

Soluciona problemas

Si quieres obtener más información para solucionar errores relacionados con los límites de cuotas, consulta Soluciona problemas de errores de cuota de BigQuery.

Limita el uso de cuotas

Aprende a limitar el uso de un recurso particular hasta el límite que especifica Google. Para ello, consulta Limita el uso.