Comprar y administrar compromisos de ranuras heredadas
La API de BigQuery Reservation te permite comprar ranuras dedicadas (llamadas compromisos), crean grupos de ranuras (llamadas reservas), y asigna proyectos, carpetas y organizaciones a esas reservas.
Un compromiso de capacidad es la compra una capacidad de procesamiento de BigQuery durante un período mínimo. La compra de un compromiso de capacidad es opcional cuando se crea una reserva con una edición, pero puede generar ahorros de costos.
Los compromisos son un recurso regional. Los compromisos adquiridos en una o en varias regiones no se pueden usar en otras regiones ni multirregiones. Los compromisos no se pueden mover entre regiones o entre regiones ni multirregiones.
Habilita la API de Reservations
La API de BigQuery Reservation es distinta de la API de BigQuery existente y debe habilitarse de forma independiente. Si deseas obtener más información, consulta Inhabilita y habilita las API.
- El nombre de la API es “API de BigQuery Reservations”.
- El extremo de la API de BigQuery Reservation es
bigqueryreservation.googleapis.com
.
Comprar ranuras
Para reservar la capacidad por un tiempo mínimo, puedes comprar un compromiso de capacidad. Esto proporciona un descuento y ahorra costos. Para obtener más información sobre los costos específicos, consulta Precios de BigQuery.
Permisos necesarios
Para crear un compromiso de capacidad, necesitas el siguiente permiso de Identity and Access Management (IAM):
bigquery.capacityCommitments.create
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery Admin
BigQuery Resource Admin
Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Crea un compromiso de capacidad
Los compromisos son un recurso regional. Los compromisos adquiridos en una o en varias regiones no se pueden usar en otras regiones ni multirregiones. Los compromisos no se pueden mover entre regiones ni entre regiones y multirregiones.
Console
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad.
Haz clic en Crear compromiso.
En Configurar, haz lo siguiente:
- Selecciona la ubicación.
- En la sección Modelo de capacidad, selecciona el modelo de capacidad.
- Selecciona la Duración del compromiso, que especifica tu plan de compromiso.
Si adquieres un compromiso anual, selecciona el Plan de renovación que deseas aplicar cuando venza el compromiso:
- No renovar y cambiar a compromiso mensual (configuración predeterminada). Cuando vence el compromiso anual, se convierte en un compromiso mensual.
- Renovar anualmente. Cuando vence el compromiso anual, se renueva por otro año como compromiso anual.
- No renovar y cambiar a ranuras flexibles. Cuando vence el compromiso anual, se convierte en un compromiso de ranuras flexibles.
Para obtener más información, consulta Compromisos.
Ingresa la cantidad de ranuras que deseas comprar.
Haga clic en Next.
Revisa la estimación de costos de tu compra.
En Confirmar y enviar, haz lo siguiente:
- Escribe CONFIRMAR para confirmar la compra.
- Haz clic en Comprar para adquirir las ranuras.
Para ver el compromiso, haz clic en Ver compromisos de ranuras. Después de aprovisionar la capacidad, el compromiso de capacidad solicitado tiene un estado verde.
La primera vez que compras una capacidad, se crea una reserva default
.
SQL
Para crear un compromiso de capacidad, usa la declaración DDL CREATE CAPACITY
.
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, escribe la siguiente oración:
CREATE CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID` OPTIONS ( slot_count = NUMBER_OF_SLOTS, plan = 'PLAN_TYPE');
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
es el ID del proyecto del proyecto de administración que mantendrá la propiedad de este compromiso.LOCATION
es la ubicación del compromiso.COMMITMENT_ID
: El ID del compromisoDebe ser único para el proyecto y la ubicación. Debe comenzar y terminar con una letra minúscula o un número, y contener solo letras minúsculas, números y guiones.
NUMBER_OF_SLOTS
es la cantidad de ranuras que se deben comprar.PLAN_TYPE
es el tipo de plan, comoFLEX
,MONTHLY
oANNUAL
.
Haz clic en
Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
bq
Usa el comando bq mk
con la marca --capacity_commitment
para comprar ranuras.
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --capacity_commitment=true \ --plan=PLAN_TYPE \ --slots=NUMBER_OF_SLOTS
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
es el ID del proyecto del proyecto de administración que mantendrá la propiedad de este compromiso.LOCATION
es la ubicación del compromiso.PLAN_TYPE
: el tipo de plan, comoFLEX
,MONTHLY
oANNUAL
.NUMBER_OF_SLOTS
es la cantidad de ranuras que se deben comprar.
Ve los compromisos de capacidad
Permisos necesarios
Para ver los compromisos, necesitas el siguiente Identity and Access Management (IAM):
bigquery.capacityCommitments.list
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
BigQuery Resource Viewer
BigQuery User
Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Ve los compromisos de capacidad por proyecto
Para ver tus compromisos de capacidad por proyecto, haz lo siguiente:
Console
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad.
Haz clic en la pestaña Slot commitments. Los compromisos de capacidad se enumeran en la tabla en Compromisos.
SQL
Para ver los compromisos de un proyecto de administración, consulta la vista INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
.
En la consola de Google Cloud, vaya a la página de BigQuery.
En el editor de consultas, escribe la siguiente oración:
SELECT capacity_commitment_id FROM `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT WHERE project_id = 'ADMIN_PROJECT_ID' AND slot_count = 100;
Reemplaza lo siguiente:
LOCATION
: la ubicación de los compromisosADMIN_PROJECT_ID
: el ID del proyecto del proyecto de administración que posee los compromisos
Haz clic en
Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
bq
Usa el comando bq ls
con la marca --capacity_commitment
para enumerar los compromisos de un proyecto de administración.
bq ls \ --capacity_commitment=true \ --location=LOCATION \ --project_id=ADMIN_PROJECT_ID
Reemplaza lo siguiente:
LOCATION
: la ubicación de los compromisosADMIN_PROJECT_ID
: el ID del proyecto del proyecto de administración que posee los compromisos
Actualizar compromisos de capacidad
Puedes realizar las siguientes actualizaciones en un compromiso de capacidad:
- Renovar un compromiso existente.
- Convertir un compromiso en un plan de compromiso de mayor duración.
- Dividir un compromiso en dos compromisos.
- Combinar dos compromisos en un solo compromiso.
Permisos necesarios
Para actualizar los compromisos de capacidad, necesitas el siguiente permiso de Identity and Access Management (IAM):
bigquery.capacityCommitments.update
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery Admin
BigQuery Resource Admin
Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Renueva un compromiso
Los compromisos anuales tienen un plan de renovación que especificas cuando creas o cambias a un compromiso anual. Puedes cambiar el plan de renovación del compromiso anual en cualquier momento antes de su fecha de finalización.
Console
Puedes cambiar el plan de renovación de un compromiso anual de la siguiente manera:
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad.
Haz clic en la pestaña Slot commitments.
Busca el compromiso que deseas editar.
Haz clic en
Acciones y, luego, selecciona la opción Editar plan de renovación.Selecciona el nuevo plan de renovación.
bq
Para cambiar la opción de plan de renovación de un compromiso anual, usa el comando bq update
con la marca --capacity_commitment
y la marca --renewal_plan
.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --renewal_plan=PLAN_TYPE \ --capacity_commitment=true \ COMMITMENT_ID
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
es el ID del proyecto del proyecto de administración que mantendrá la propiedad de este compromiso.LOCATION
es la ubicación del compromiso.PLAN_TYPE
: el tipo de plan, comoFLEX
,MONTHLY
oANNUAL
.COMMITMENT_ID
: El ID del compromisoPara obtener el ID, consulta Ve los compromisos comprados.
Convierte un compromiso en uno de mayor duración
Puedes convertir tu compromiso en un tipo de compromiso de mayor duración en cualquier momento:
- Puedes convertir el compromiso de ranuras flexibles en un compromiso mensual o anual.
- Puedes convertir tu compromiso de permanencia mensual en uno anual.
Desde el momento en que actualizas el compromiso, se te cobrará la tarifa asociada con el plan nuevo y la fecha de finalización se restablecerá.
Para convertir un compromiso, usa el comando bq update
con la marca --plan
.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --plan=PLAN_TYPE \ --renewal_plan=RENEWAL_PLAN \ --capacity_commitment=true \ COMMITMENT_ID
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
: El ID del proyectoLOCATION
es la ubicación del compromiso.PLAN_TYPE
: el tipo de plan, comoFLEX
,MONTHLY
oANNUAL
.RENEWAL_PLAN
: El plan de renovaciónEsto se aplica solo si
PLAN_TYPE
esANNUAL
. SiPLAN_TYPE
esMONTHLY
, omite esta marca.COMMITMENT_ID
: El ID del compromisoPara obtener el ID, consulta Ve los compromisos comprados.
Divide un compromiso
Puedes dividir el compromiso en dos compromisos. Esto puede ser útil si deseas renovar una parte de un compromiso. Por ejemplo, si tienes un compromiso anual de 1,000 ranuras, puedes separar 300 ranuras en un compromiso nuevo y dejar 700 ranuras en el compromiso original. Luego, puedes renovar 700 ranuras con frecuencia anual y convertir 300 ranuras en ranuras flexibles después de la fecha de finalización.
Cuando divides un compromiso, el compromiso nuevo tiene el mismo plan y la misma fecha de finalización del compromiso que el original.
Console
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad.
Haz clic en la pestaña Slot commitments.
Selecciona el compromiso que deseas dividir.
Haz clic en Dividir.
En la página Split commitment, usa el control deslizante Configure split para seleccionar cuántas ranuras corresponden a cada división, en incrementos de 100 ranuras.
Haz clic en Dividir para dividir el compromiso. El compromiso nuevo se muestra en la pestaña Compromisos de ranuras.
bq
Para dividir los compromisos, usa el comando bq update
.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --split \ --slots=SLOTS_TO_SPLIT \ --capacity_commitment=true \ COMMITMENT_ID
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
: El ID del proyectoLOCATION
es la ubicación del compromiso.SLOTS_TO_SPLIT
es la cantidad de ranuras que deseas dividir del compromiso original y convertir en un compromiso nuevo.COMMITMENT_ID
: El ID del compromisoPara obtener el ID, consulta Ve los compromisos comprados.
Combina dos compromisos
Puedes combinar varios compromisos en uno. Todos los compromisos que se combinarán deben ser del mismo tipo (FLEX
, MONTHLY
, ANNUAL
o THREE_YEAR
). La fecha de finalización del compromiso combinado es la fecha de finalización máxima de los compromisos originales. Si alguno de los compromisos tiene una fecha de finalización anterior, se extienden hasta la fecha posterior y se te cobra un importe prorrateado por esas ranuras.
Console
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad.
Haz clic en la pestaña Slot commitments.
Selecciona los compromisos que deseas combinar.
Haz clic en Combinar.
En la página Merge commitments, revisa los detalles de la combinación y haz clic en Combinar. El nuevo compromiso combinado se muestra en la pestaña Slot commitments.
bq
Para combinar dos compromisos en uno, usa el comando bq update
:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --merge=true \ --capacity_commitment=true \ COMMITMENT1,COMMITMENT2
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
: El ID del proyectoLOCATION
: la ubicación de los compromisosCOMMITMENT1
: Es el primer compromiso que se combinaráCOMMITMENT2
: Es el segundo compromiso que se combinará
Borrar un compromiso
Puedes borrar un compromiso de capacidad si su fecha de finalización es anterior. La fecha de finalización del compromiso se muestra en la consola de Google Cloud. Antes de borrar un compromiso, asegúrate de que haya suficientes ranuras sin asignar. De lo contrario, debes disminuir la cantidad de ranuras de una reserva o quitar las reservas por completo.
Permisos necesarios
Para borrar los compromisos de capacidad, necesitas el siguiente Identity and Access Management (IAM):
bigquery.capacityCommitments.delete
en el proyecto de administración que mantiene la propiedad de los compromisos.
Cada una de los siguientes roles predefinidos de IAM incluye este permiso:
BigQuery Admin
BigQuery Resource Admin
Para obtener más información de los roles de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Borra un compromiso de capacidad
Console
Para borrar un compromiso de capacidad, completa los siguientes pasos:
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel de navegación, ve a la sección Administración de capacidad.
Haz clic en la pestaña Slot commitments.
En la lista desplegable Ubicación, selecciona la ubicación adecuada.
Busca el compromiso que deseas borrar.
Expande la opción
Actions.Haz clic en Borrar.
Escribe “REMOVE” y presiona Continuar (Proceed).
SQL
Para borrar un compromiso de capacidad, usa la declaración DDL DROP CAPACITY
.
En la consola de Google Cloud, vaya a la página de BigQuery.
En el editor de consultas, escribe la siguiente oración:
DROP CAPACITY `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
: Es el proyecto que posee el compromisoLOCATION
es la ubicación del compromiso.COMMITMENT_ID
: El ID del compromisoPara obtener el ID, consulta Ve los compromisos comprados.
Haz clic en
Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
bq
Para borrar un compromiso de capacidad, usa el comando bq rm
con la marca --capacity_commitment
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --capacity_commitment=true \ COMMITMENT_ID
Reemplaza lo siguiente:
ADMIN_PROJECT_ID
: El ID del proyectoLOCATION
: la ubicación del compromisoCOMMITMENT_ID
es el ID del compromiso que deseas borrar.Para obtener el ID, consulta Ve los compromisos comprados.
Soluciona problemas de compromisos de capacidad
En esta sección, se describen los pasos de solución de problemas que pueden resultarte útiles si tienes problemas para usar las reservas de BigQuery.
Las ranuras compradas están pendientes
Las ranuras están sujetas a la capacidad disponible. Cuando compras compromisos de ranuras y BigQuery los asigna, la columna Estado muestra una marca de verificación. Si BigQuery no puede asignar las ranuras solicitadas de inmediato, la columna Estado permanece pendiente. Es posible que tengas que esperar varias horas para que las ranuras estén disponibles. Si necesitas acceder a las ranuras con anterioridad, prueba los siguientes pasos:
- Borra el compromiso pendiente.
- Compra un compromiso nuevo con una cantidad menor de ranuras. Según la capacidad, el compromiso más pequeño podría activarse de inmediato.
- Compra las ranuras restantes como un compromiso independiente. Estas ranuras podrían mostrarse como pendientes en la columna Estado, pero suelen activarse en pocas horas.
- Opcional: Sí ambos compromisos están disponibles, puedes combinarlos en un solo compromiso, siempre que compres el mismo plan para ambos.
Si un compromiso de ranuras falla o demora mucho tiempo en completarse, considera usar precios según demanda de manera temporal. Con esta solución, te recomendamos ejecutar consultas críticas en un proyecto diferente que no esté asignado a ninguna reserva, o es posible que debas quitar la asignación del proyecto por completo.