Comprar y gestionar compromisos de ranura antiguos

La API BigQuery Reservation te permite comprar ranuras dedicadas (llamadas compromisos), crear grupos de ranuras (llamados reservas) y asignar proyectos, carpetas y organizaciones a esas reservas.

Una confirmación de capacidad es una compra de capacidad de computación de BigQuery durante un periodo mínimo. Comprar una confirmación de capacidad es opcional al crear una reserva con una edición, pero puede suponer un ahorro de costes.

Los compromisos son recursos regionales. Los compromisos que se compren en una región o en varias regiones no se pueden utilizar en otras regiones o multirregiones. Los compromisos no se pueden mover entre regiones ni entre regiones y multirregiones.

Habilitar la API Reservations

La API Reservation de BigQuery es distinta de la API de BigQuery y debe habilitarse por separado. Para obtener más información, consulta el artículo sobre cómo habilitar e inhabilitar las APIs.

  • El nombre de la API es "API BigQuery Reservations".
  • El endpoint de la API Reservation de BigQuery es bigqueryreservation.googleapis.com.

Habilita la API.

Comprar slots

Para reservar capacidad durante un periodo mínimo, puedes comprar un compromiso de capacidad. De esta forma, se aplica un descuento y se ahorran costes. Para obtener más información sobre los costes específicos, consulta los precios de BigQuery.

Permisos obligatorios

Para crear un compromiso de capacidad, necesitas el siguiente permiso de gestión de identidades y accesos (IAM):

Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin

Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.

Crear una confirmación de capacidad

Los compromisos son recursos regionales. Los compromisos que se compren en una región o en varias regiones no se pueden utilizar en otras regiones o multirregiones. Los compromisos no se pueden mover entre regiones ni entre regiones y multirregiones.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Gestión de la capacidad.

  3. Haz clic en Crear compromiso.

  4. En Configurar:

    1. Selecciona la ubicación.
    2. En la sección Modelo de capacidad, seleccione el modelo de capacidad.
    3. Selecciona la Duración del compromiso, que especifica tu plan de compromiso.
    4. Si vas a comprar un compromiso anual, selecciona el plan de renovación que quieras que se aplique cuando venza el compromiso:

      1. Cancelar renovación y pasar a confirmación mensual (opción predeterminada). Cuando vence el compromiso anual, se convierte en un compromiso mensual.
      2. Renovar anualmente. Cuando vence el compromiso anual, se renueva por otro año como compromiso anual.
      3. Cancelar renovación y pasar a ranuras flexibles. Cuando vence el compromiso anual, se convierte en un compromiso de slots flexibles.

      Para obtener más información, consulta el artículo Compromisos de espacio publicitario.

    5. Introduce el Número de ranuras que quieras comprar.

    6. Haz clic en Siguiente.

  5. Revisa la estimación del coste de tu compra.

  6. En Confirmar y enviar:

    1. Escribe CONFIRM para confirmar la compra.
    2. Haz clic en Comprar para comprar los espacios.
  7. Para ver el compromiso, haz clic en Ver confirmaciones de ranuras. Una vez que se ha aprovisionado la capacidad, el compromiso de capacidad solicitado tiene el estado verde.

La primera vez que compres capacidad, se creará una default reserva.

SQL

Para crear un compromiso de capacidad, usa la declaración de DDL CREATE CAPACITY.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    CREATE CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`
    OPTIONS (
      slot_count = NUMBER_OF_SLOTS,
      plan = 'PLAN_TYPE');

    Haz los cambios siguientes:

    • ADMIN_PROJECT_ID: el ID del proyecto de administración que mantendrá la propiedad de este compromiso
    • LOCATION: la ubicación del compromiso
    • COMMITMENT_ID: el ID del compromiso

      Debe ser único en el proyecto y la ubicación. Debe empezar y acabar con una letra minúscula o un número, y solo puede contener letras minúsculas, números y guiones.

    • NUMBER_OF_SLOTS: el número de ranuras que quieres comprar
    • PLAN_TYPE: el tipo de plan, como FLEX, MONTHLY o ANNUAL.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Usa el comando bq mk con la marca --capacity_commitment para comprar espacios.

bq mk \
    --project_id=ADMIN_PROJECT_ID \
    --location=LOCATION \
    --capacity_commitment=true \
    --plan=PLAN_TYPE \
    --slots=NUMBER_OF_SLOTS

Haz los cambios siguientes:

  • ADMIN_PROJECT_ID: el ID del proyecto de administración que mantendrá la propiedad de este compromiso.
  • LOCATION: la ubicación del compromiso
  • PLAN_TYPE: el tipo de plan, como FLEX, MONTHLY o ANNUAL.
  • NUMBER_OF_SLOTS: número de espacios publicitarios que se van a comprar.

Ver confirmaciones de capacidad

Permisos obligatorios

Para ver los compromisos, necesitas el siguiente permiso de Gestión de Identidades y Accesos (IAM):

Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin
  • BigQuery Resource Editor
  • BigQuery Resource Viewer
  • BigQuery User

Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.

Ver confirmaciones de capacidad por proyecto

Para ver tus compromisos de capacidad por proyecto, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Gestión de la capacidad.

  3. Haz clic en la pestaña Compromisos de espacio publicitario. Tus confirmaciones de capacidad se muestran en la tabla de la sección Confirmaciones.

SQL

Para ver los compromisos de un proyecto de administración, consulta la vista INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    SELECT
      capacity_commitment_id
    FROM
      `region-LOCATION`.INFORMATION_SCHEMA.CAPACITY_COMMITMENTS_BY_PROJECT
    WHERE
      project_id = 'ADMIN_PROJECT_ID'
      AND slot_count = 100;

    Haz los cambios siguientes:

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar 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

Haz los cambios siguientes:

Actualizar confirmaciones de capacidad

Puede hacer los siguientes cambios en una confirmación de capacidad:

  • Renovar un compromiso.
  • Convertir un compromiso en un plan sujeto a un compromiso con una duración mayor.
  • Dividir un compromiso en dos.
  • Combinar dos compromisos en uno solo.

Permisos obligatorios

Para actualizar los compromisos de capacidad, necesitas el siguiente permiso de gestión de identidades y accesos (IAM):

Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin

Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.

Renovar un compromiso

Los compromisos anuales tienen un plan de renovación que se especifica al crear o convertir un compromiso anual. Puedes cambiar el plan de renovación de tu compromiso anual en cualquier momento antes de la fecha de finalización del compromiso.

Consola

Para cambiar tu plan de renovación de un compromiso anual, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Gestión de la capacidad.

  3. Haz clic en la pestaña Compromisos de espacio publicitario.

  4. Busca el compromiso que quieras editar.

  5. Haz clic en Acciones y, a continuación, selecciona la opción Editar plan de renovación.

  6. Selecciona el nuevo plan de renovación.

bq

Para cambiar el 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

Haz los cambios siguientes:

Convertir 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 tu compromiso de espacios flexibles en un compromiso mensual o anual.
  • Puedes convertir tu compromiso mensual en un compromiso anual.

En cuanto actualices tu compromiso, se te cobrará la tarifa asociada al nuevo plan y se restablecerá la fecha de finalización.

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

Haz los cambios siguientes:

  • ADMIN_PROJECT_ID: el ID del proyecto
  • LOCATION: la ubicación del compromiso
  • PLAN_TYPE: el tipo de plan, como FLEX, MONTHLY o ANNUAL.
  • RENEWAL_PLAN: el plan de renovación

    Esto solo se aplica si PLAN_TYPE es ANNUAL. Si PLAN_TYPE es MONTHLY, omite esta marca.

  • COMMITMENT_ID: el ID del compromiso

    Para obtener el ID, consulta Ver compromisos comprados.

Dividir una confirmación

Puedes dividir tu compromiso en dos. Esto puede ser útil si quieres renovar parte de un compromiso. Por ejemplo, si tienes un compromiso anual de 1000 ranuras, puedes dividir 300 ranuras en un nuevo compromiso y dejar 700 ranuras en el compromiso original. De este modo, podrías renovar 700 ranuras con la tarifa anual y convertir 300 ranuras en ranuras flexibles después de la fecha de finalización.

Cuando divides un compromiso, el nuevo compromiso tiene el mismo plan y la misma fecha de finalización que el compromiso original.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Gestión de la capacidad.

  3. Haz clic en la pestaña Compromisos de espacio publicitario.

  4. Selecciona el compromiso que quieras dividir.

  5. Haz clic en Dividir.

  6. En la página Dividir compromiso, usa el control deslizante Configurar división para seleccionar cuántos espacios publicitarios se incluirán en cada división, en incrementos de 100 espacios.

  7. Haz clic en Dividir para dividir el compromiso. El nuevo compromiso 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

Haz los cambios siguientes:

  • ADMIN_PROJECT_ID: el ID del proyecto
  • LOCATION: la ubicación del compromiso
  • SLOTS_TO_SPLIT: número de ranuras que se van a dividir del compromiso original en un nuevo compromiso
  • COMMITMENT_ID: el ID del compromiso

    Para obtener el ID, consulta Ver compromisos comprados.

Combinar dos compromisos

Puedes combinar varios compromisos en uno solo. Todos los compromisos que se combinen 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 ampliará hasta la fecha posterior y se te cobrará un importe prorrateado por esos espacios.

Consola

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Gestión de la capacidad.

  3. Haz clic en la pestaña Compromisos de espacio publicitario.

  4. Selecciona los compromisos que quieras combinar.

  5. Haz clic en Combinar.

  6. En la página Combinar compromisos, revisa los detalles de la combinación y haz clic en Combinar. El nuevo compromiso combinado se muestra en la pestaña Compromisos de ranuras.

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

Haz los cambios siguientes:

  • ADMIN_PROJECT_ID: el ID del proyecto
  • LOCATION: la ubicación de los compromisos
  • COMMITMENT1: la primera confirmación de la combinación
  • COMMITMENT2: el segundo compromiso que se va a combinar

Eliminar un compromiso

Puedes eliminar una confirmación de capacidad si su fecha de finalización ya ha pasado. La fecha de finalización del compromiso se muestra en la Google Cloud consola. Antes de eliminar un compromiso, asegúrate de que haya suficientes espacios sin asignar. Si no es así, debes reducir el número de espacios de una reserva o eliminar las reservas por completo.

Permisos obligatorios

Para eliminar compromisos de capacidad, necesitas el siguiente permiso de gestión de identidades y accesos (IAM):

Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye este permiso:

  • BigQuery Admin
  • BigQuery Resource Admin

Para obtener más información sobre los roles de gestión de identidades y accesos en BigQuery, consulta el artículo sobre roles y permisos predefinidos.

Eliminar una confirmación de capacidad

Consola

Para eliminar un compromiso de capacidad, sigue estos pasos:

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el menú de navegación, haz clic en Gestión de la capacidad.

  3. Haz clic en la pestaña Compromisos de espacio publicitario.

  4. En la lista desplegable Ubicación, selecciona la ubicación adecuada.

  5. Busca el compromiso que quieras eliminar.

  6. Abre la opción Acciones.

  7. Haz clic en Eliminar.

  8. Escribe "ELIMINAR" y haz clic en Continuar.

SQL

Para eliminar una confirmación de capacidad, usa la declaración de DDL DROP CAPACITY.

  1. En la Google Cloud consola, ve a la página BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

    DROP CAPACITY
      `ADMIN_PROJECT_ID.region-LOCATION.COMMITMENT_ID`;

    Haz los cambios siguientes:

    • ADMIN_PROJECT_ID: el proyecto al que pertenece el compromiso
    • LOCATION: la ubicación del compromiso
    • COMMITMENT_ID: el ID del compromiso

      Para obtener el ID, consulta Ver compromisos comprados.

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Para eliminar una confirmación 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

Haz los cambios siguientes:

  • ADMIN_PROJECT_ID: el ID del proyecto
  • LOCATION: la ubicación del compromiso
  • COMMITMENT_ID: el ID del compromiso que quieres eliminar

    Para obtener el ID, consulta Ver compromisos comprados.

Solucionar problemas con los compromisos de capacidad

En esta sección se describen los pasos para solucionar problemas que pueden resultarte útiles si tienes algún problema mientras usas las reservas de BigQuery.

Los espacios comprados están pendientes

Los slots están sujetos a la capacidad disponible. Cuando compras compromisos de ranuras y BigQuery los asigna, en la columna Estado se muestra una marca de verificación. Si BigQuery no puede asignar los slots solicitados inmediatamente, la columna Estado se mantendrá en estado pendiente. Es posible que tengas que esperar varias horas hasta que los slots estén disponibles. Si necesitas acceder a los espacios antes, prueba lo siguiente:

  1. Elimina el compromiso pendiente.
  2. Adquiere un nuevo compromiso con un número menor de ranuras. En función de la capacidad, el compromiso más pequeño puede activarse inmediatamente.
  3. Compra los espacios restantes con un compromiso independiente. Es posible que estos espacios aparezcan como pendientes en la columna Estado, pero suelen activarse en un plazo de unas horas.
  4. Opcional: Cuando ambas opciones estén disponibles, puedes combinarlas en una sola, siempre que hayas comprado el mismo plan para ambas.

Si una reserva de espacio falla o tarda mucho en completarse, considera la posibilidad de usar los precios bajo demanda temporalmente. Con esta solución, puede que tengas que ejecutar consultas críticas en un proyecto diferente que no esté asignado a ninguna reserva o que tengas que eliminar la asignación del proyecto por completo.