Administra la configuración
Los administradores de BigQuery y los propietarios de proyectos pueden administrar los parámetros de configuración a nivel de la organización y del proyecto. Puedes establecer configuraciones para aplicar la seguridad, controlar los costos y optimizar el rendimiento de las consultas en toda tu infraestructura de datos. Si configuras valores predeterminados, puedes garantizar el cumplimiento coherente y la eficiencia operativa, lo que facilita la administración de tu entorno de BigQuery.
Especifica parámetros de configuración
En las siguientes secciones, se describe cómo especificar la configuración predeterminada. Los parámetros de configuración predeterminados se establecen a nivel de organización o de proyecto, pero se pueden anular a nivel de sesión o de trabajo. Para aplicar el comportamiento predeterminado, puedes definir la configuración predeterminada junto con las políticas de la organización relacionadas.
Roles obligatorios
Para obtener el permiso que necesitas para especificar un parámetro de configuración,
pídele a tu administrador que te otorgue el
rol de IAM de administrador de BigQuery (roles/bigquery.admin).
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso bigquery.config.update, que se requiere para especificar un parámetro de configuración.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Funciones y permisos predefinidos.
Configura los ajustes de la organización
Puedes configurar los parámetros a nivel de la organización con las siguientes instrucciones de GoogleSQL. Cuando especifiques la configuración, debes indicar la región en la que se aplica. Solo puedes usar una región para cada instrucción.
Para establecer la configuración de la organización, usa la declaración DDL ALTER ORGANIZATION SET OPTIONS.
En el siguiente ejemplo, se especifican varios parámetros de configuración predeterminados, incluidos los siguientes:
- Zona horaria:
America/Chicago - Clave de Cloud KMS: Es una clave definida por el usuario.
- Tiempo de espera de la consulta: 30 minutos (1,800,000 milisegundos)
- Tiempo de espera de la cola de consultas interactivas: 10 minutos (600,000 milisegundos)
- Tiempo de espera de la cola de consultas por lotes: 20 minutos (1,200,000 milisegundos)
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone`= 'America/Chicago', -- Ensure all service accounts under the organization have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 1800000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= BILLING_MODEL, `region-REGION.default_max_time_travel_hours` = 72);
Reemplaza lo siguiente:
REGION: Es la región asociada con tu organización o proyecto, por ejemplo,usoeurope-west6.KMS_KEYes una clave de Cloud KMS definida por el usuario. Para obtener más información, consulta Claves de Cloud KMS administradas por el cliente.BILLING_MODEL: Es el modelo de almacenamiento para los conjuntos de datos nuevos; por ejemplo,PHYSICALpara los bytes físicos.
En el siguiente ejemplo, se borra toda la configuración predeterminada a nivel de la organización:
ALTER ORGANIZATION SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL);
Define la configuración del proyecto
Puedes configurar los parámetros a nivel del proyecto con las siguientes instrucciones de GoogleSQL. Cuando especifiques la configuración, debes indicar la región en la que se aplica. Solo puedes usar una región para cada instrucción.
Para establecer la configuración del proyecto, usa la declaración DDL ALTER PROJECT SET OPTIONS.
La declaración DDL ALTER PROJECT SET OPTIONS acepta de forma opcional la variable PROJECT_ID. Si no se especifica PROJECT_ID, el valor predeterminado es el proyecto actual en el que se ejecuta la consulta.
En el siguiente ejemplo, se especifican varios parámetros de configuración predeterminados:
- Zona horaria:
America/Los_Angeles - Clave de Cloud KMS: Ejemplo de clave
- Tiempo de espera de la consulta: 1 hora
- Tiempo de espera de la cola de consultas interactivas: 10 minutos
- Tiempo de espera de la cola de consultas por lotes: 20 minutos
- Equidad basada en reservas: habilitada
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = 'America/Los_Angeles', -- Ensure all service accounts under the project have permission to KMS_KEY `region-REGION.default_kms_key_name` = KMS_KEY, `region-REGION.default_query_job_timeout_ms` = 3600000, `region-REGION.default_interactive_query_queue_timeout_ms` = 600000, `region-REGION.default_batch_query_queue_timeout_ms` = 1200000, `region-REGION.default_storage_billing_model`= BILLING_MODEL, `region-REGION.default_max_time_travel_hours` = 72, `region-REGION.default_cloud_resource_connection_id` = CONNECTION_ID, `region-REGION.default_sql_dialect_option` = 'default_google_sql', `region-REGION.enable_reservation_based_fairness` = true);
Reemplaza lo siguiente:
PROJECT_ID: el ID del proyectoREGION: Es la región asociada con tu organización o proyecto, por ejemplo,usoeurope-west6.KMS_KEYes una clave de Cloud KMS definida por el usuario. Para obtener más información, consulta Claves de Cloud KMS administradas por el cliente.BILLING_MODEL: Es el modelo de almacenamiento para los conjuntos de datos nuevos; por ejemplo,PHYSICALpara los bytes físicos.CONNECTION_ID: Es el ID de la conexión que se usará como conexión predeterminada para las tablas y los modelos.
En el siguiente ejemplo, se borra toda la configuración predeterminada a nivel de proyecto. En estos casos, se usa cualquier configuración predeterminada a nivel de organización, si existe una. De lo contrario, toda la configuración predeterminada se establece en el valor predeterminado global.
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_time_zone` = NULL, `region-REGION.default_kms_key_name` = NULL, `region-REGION.default_query_job_timeout_ms` = NULL, `region-REGION.default_interactive_query_queue_timeout_ms` = NULL, `region-REGION.default_batch_query_queue_timeout_ms` = NULL, `region-REGION.default_storage_billing_model`= NULL, `region-REGION.default_max_time_travel_hours` = NULL, `region-REGION.default_cloud_resource_connection_id` = NULL, `region-REGION.default_sql_dialect_option` = NULL, `region-REGION.enable_reservation_based_fairness` = NULL);
Las configuraciones a nivel de proyecto anulan las configuraciones a nivel de organización. A su vez, las opciones de configuración a nivel de proyecto se pueden anular con las configuraciones a nivel de sesión, que se pueden anular con las configuraciones a nivel de trabajo
Recupera la configuración
Puedes ver los parámetros de configuración de una organización o un proyecto con las siguientes vistas de INFORMATION_SCHEMA:
INFORMATION_SCHEMA.PROJECT_OPTIONS: las opciones de configuración aplicadas a un proyecto.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS: las configuraciones efectivas aplicadas a un proyecto. Las configuraciones efectivas incluyen todas las configuraciones establecidas a nivel de proyecto, así como todos los parámetros de configuración heredados por el proyecto desde una organización.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS: las opciones de configuración aplicadas a una organización.
Las nuevas configuraciones pueden tardar unos minutos en entrar en vigor y reflejarse en la vista INFORMATION_SCHEMA.
Roles obligatorios
Para obtener el permiso que necesitas para recuperar la configuración,
pídele a tu administrador que te otorgue el
rol de IAM de usuario de trabajos de BigQuery (roles/bigquery.jobUser)
en el proyecto especificado.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Este rol predefinido contiene el permiso bigquery.config.get, que se requiere para recuperar la configuración.
También puedes obtener este permiso con roles personalizados o con otros roles predefinidos.
Para obtener más información sobre las funciones de IAM y los permisos en BigQuery, consulta Funciones y permisos predefinidos.
Ejemplos
Para ver las configuraciones en una organización en la región us, ejecuta la siguiente consulta:
SELECT * FROM region-us.INFORMATION_SCHEMA.ORGANIZATION_OPTIONS;
Para ver las configuraciones efectivas en tu proyecto predeterminado en la región us, ejecuta la siguiente consulta:
SELECT * FROM region-us.INFORMATION_SCHEMA.EFFECTIVE_PROJECT_OPTIONS;
Para ver las opciones de configuración en tu proyecto predeterminado en la región us, ejecuta la siguiente consulta:
SELECT * FROM region-us.INFORMATION_SCHEMA.PROJECT_OPTIONS;
Parámetros de configuración
En las siguientes secciones, se describen los parámetros de configuración que puedes especificar.
Configuración de ejecución de consultas y trabajos
Usa los siguientes parámetros de configuración para controlar cómo se ejecutan, cronometran y ponen en cola las consultas.
default_batch_query_queue_timeout_ms: la cantidad de tiempo predeterminada, en milisegundos, que una consulta por lotes se pone en cola. Si no se configura, el valor predeterminado es 24 horas. El valor mínimo es 1 milisegundo. El valor máximo es 48 horas. Para desactivar la cola de consultas por lotes, establece el valor en-1.default_interactive_query_queue_timeout_ms: la cantidad de tiempo predeterminada, en milisegundos, que una consulta interactiva se pone en cola. Si no se configura, el valor predeterminado es seis horas. El valor mínimo es 1 milisegundo. El valor máximo es 48 horas. Para desactivar la cola de consultas interactivas, establece el valor en-1.default_query_job_timeout_ms: el tiempo predeterminado después del cual se agota el tiempo de espera de un trabajo de consulta, incluido el tiempo que se pone en cola y el tiempo que se ejecuta. El tiempo de espera debe ser de entre 5 minutos y 48 horas. Este tiempo de espera solo se aplica a los trabajos de consulta individuales y a los trabajos secundarios de las secuencias de comandos. Para establecer un tiempo de espera para los trabajos de secuencias de comandos, debes usar el método de la API jobs.insert y configurar el campojobTimeoutMs.enable_reservation_based_fairness: Es la opción que determina cómo se comparten los espacios inactivos. El valor predeterminado es falso, lo que significa que las ranuras inactivas se distribuyen de manera equitativa entre todos los proyectos de consultas. Si está habilitado, las ranuras inactivas se comparten de forma equitativa entre todas las reservas primero y, luego, entre los proyectos dentro de la reserva. Para obtener más información, consulta equidad basada en reservas. Esta opción solo se admite a nivel del proyecto. No puedes especificarlo a nivel de la organización o del trabajo.default_time_zone: Es la zona horaria predeterminada que se debe usar en funciones de GoogleSQL que dependen de la zona horaria cuando no se especifica una como argumento. Esta configuración no se aplica a las tablas particionadas de columnas de unidades de tiempo (que usan UTC como la zona horaria), las transferencias de programa del Servicio de transferencia de almacenamiento ni la carga de datos con la herramienta de línea de comandos de bq. Para obtener más información, consulta Zonas horarias.default_query_optimizer_options: Son las optimizaciones de consultas basadas en el historial. Esta opción puede ser una de las siguientes:'adaptive=on': Usa optimizaciones de consultas basadas en el historial.'adaptive=off': No usa optimizaciones de consultas basadas en el historial.NULL(predeterminado): Usa la configuración predeterminada de optimizaciones de consultas basadas en el historial, que es equivalente a'adaptive=on'.
default_sql_dialect_option: Es el dialecto de consulta en SQL predeterminado para ejecutar trabajos de consulta con la herramienta de línea de comandos de bq o la API de BigQuery. Cambiar este parámetro de configuración no afecta el dialecto predeterminado en la consola. Esta opción puede ser una de las siguientes:'default_legacy_sql'(predeterminado): Usa SQL heredado si no se especifica el dialecto de la consulta a nivel del trabajo.'default_google_sql': Usa GoogleSQL si no se especifica el dialecto de la consulta a nivel del trabajo.'only_google_sql': Usa GoogleSQL si no se especifica el dialecto de la consulta a nivel del trabajo. Rechaza los trabajos con el dialecto de consulta establecido en SQL heredado.NULL: Usa el parámetro de configuración predeterminado del dialecto de consulta, que es equivalente a'default_legacy_sql'.
Configuración de administración de datos
Usa los siguientes parámetros de configuración para definir reglas sobre la creación, la seguridad y el ciclo de vida de los datos.
default_column_name_character_map: el alcance y el manejo predeterminados de los caracteres en los nombres de las columnas. Si no se configuran, los trabajos de carga que usan caracteres no compatibles en los nombres de las columnas fallarán con un mensaje de error. Es posible que algunas tablas más antiguas se configuren para reemplazar los caracteres no compatibles en los nombres de las columnas. Para obtener más información, consultaload_option_list.default_kms_key_name: la clave predeterminada de Cloud Key Management Service para encriptar los datos de tablas, incluidas las tablas temporales o anónimas. Para obtener más información, consulta Claves de Cloud KMS administradas por el cliente.default_max_time_travel_hours: Es el período predeterminado de viaje en el tiempo en horas para los conjuntos de datos nuevos. Esta duración debe estar dentro del rango de 48 a 168, inclusive, y debe ser divisible por 24. Cambiar la cantidad predeterminada de horas máximas de viaje en el tiempo no afecta a los conjuntos de datos existentes. Para obtener más información, consulta Viaje en el tiempo y retención de datos.
Configuración de costos y recursos
Usa los siguientes parámetros de configuración para determinar cómo se facturan y conectan los recursos.
default_storage_billing_model: Es el modelo de facturación de almacenamiento predeterminado para conjuntos de datos nuevos. Establece el valor enPHYSICALpara usar bytes físicos cuando se calculan los cargos de almacenamiento, o enLOGICALpara usar bytes lógicos. Ten en cuenta que cambiar el modelo de facturación de almacenamiento predeterminado no afecta a los conjuntos de datos existentes. Para obtener más información, consulta Modelos de facturación de almacenamiento.default_cloud_resource_connection_id: Es la conexión predeterminada que se usará cuando se creen tablas y modelos. Solo especifica el ID o el nombre de la conexión, y excluye los prefijos de ID y región del proyecto adjunto. El uso de conexiones predeterminadas puede provocar que se actualicen los permisos otorgados a la cuenta de servicio de la conexión, según el tipo de tabla o modelo que crees. Para obtener más información, consulta la Descripción general de la conexión predeterminada.
Precios
No se aplican cargos adicionales por usar el servicio de configuración de BigQuery. Para obtener más información, consulta Precios.