Trabalhar com reservas de slots legadas
Com a API BigQuery Reservation, você compra slots dedicados (chamados compromissos), cria pools de slots (chamados reservas) e atribui projetos, pastas e organizações a essas reservas.
As reservas permitem atribuir um número dedicado de slots
a uma carga de trabalho. Por exemplo, talvez você não queira que uma carga de trabalho de produção compita com cargas de trabalho de teste por slots. É possível criar uma reserva chamada prod
e atribuir suas cargas de trabalho de produção a essa reserva. Para mais informações, consulte Reservas.
Criar reservas
Permissões necessárias
Para criar uma reserva, você precisa da seguinte permissão de gerenciamento de identidade e acesso (IAM):
bigquery.reservations.create
no projeto de administração que mantém a propriedade dos compromissos.
Cada um dos seguintes papéis predefinidos do IAM inclui essa permissão:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Para mais informações sobre os papéis do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Criar uma reserva com slots dedicados
Selecione uma das seguintes opções:
Console
No Console do Google Cloud, acesse a página do BigQuery.
No painel de navegação, acesse a seção Gerenciamento de capacidade.
Clique em Criar reserva.
No campo Nome da reserva, insira um nome para a reserva.
Na lista suspensa Local, selecione o local.
Na seção Modelo de capacidade, escolha o modelo de capacidade.
Se você selecionar a opção Taxa fixa, em Slots de referência, insira o número de slots para a reserva.
- Na lista Seletor de tamanho máximo da reserva, escolha o tamanho máximo da reserva.
Opcional: no campo Slots de valor de referência, insira o número de slots de valor de referência para a reserva. Para usar apenas a capacidade do slot especificada, clique no botão Ignorar slots inativos.
O número de slots de escalonamento automático disponíveis é determinado subtraindo o valor de Slots de valor de referência do valor de tamanho de Reserva máxima. Por exemplo, se você criar uma reserva com 100 slots de valor de referência e um tamanho máximo de 400, sua reserva terá 300 slots de escalonamento automático. Para mais informações sobre slots de valor de referência, consulte Como usar reservas com slots de valor de referência e de escalonamento automático.
Para desativar o compartilhamento de slot inativo, clique no botão Ignorar slots inativos.
O detalhamento de slots é exibido na tabela Estimativa de custo. Um resumo da reserva será exibido na tabela Resumo da capacidade.
Clique em Salvar.
A nova reserva fica visível na guia Reservas.
SQL
Para criar uma reserva, use a
instrução DDL CREATE RESERVATION
.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
Substitua:
ADMIN_PROJECT_ID
: o ID do projeto de administração que é proprietário do recurso de reserva.LOCATION
: o local da reserva. Se você selecionar um local do BigQuery Omni, sua opção de edição será limitada à edição Enterprise.RESERVATION_NAME
: o nome da reservaEle precisa começar e terminar com uma letra minúscula ou um número e conter apenas letras minúsculas, números e traços.
NUMBER_OF_BASELINE_SLOTS
: o número de slots de referência que serão alocados para a reserva. Não é possível definir a opçãoslot_capacity
eedition
na mesma reserva.EDITION
: a edição da reserva. A atribuição de uma reserva a uma edição inclui mudanças de recursos e preços. Para mais informações, consulte Introdução às edições do BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: o número de slots de escalonamento automático atribuídos à reserva. Isso é igual a o valor do tamanho máximo da reserva menos o número de slots de referência.
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Para criar uma reserva, use o comando bq mk
com a
sinalização --reservation
:
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ RESERVATION_NAME
Substitua:
ADMIN_PROJECT_ID
: o ID do projetoLOCATION
: o local da reserva. Se você selecionar um local do BigQuery Omni, sua opção de edição será limitada à edição Enterprise.NUMBER_OF_BASELINE_SLOTS
: o número de slots de referência que serão alocados à reserva.RESERVATION_NAME
: o nome da reservaEDITION
: a edição da reserva. A atribuição de uma reserva a uma edição inclui mudanças de recursos e preços. Para mais informações, consulte Introdução às edições do BigQuery.NUMBER_OF_AUTOSCALING_SLOTS
: o número de slots de escalonamento automático atribuídos à reserva. Isso é igual a o valor do tamanho máximo da reserva menos o número de slots de referência.
Para informações sobre a sinalização --ignore_idle_slots
, consulte Slots inativos. O valor
padrão é false
.
Python
Atualizar reservas
É possível fazer as seguintes atualizações em uma reserva:
- Adicione ou remova slots para alterar o tamanho da reserva.
- Configure se as consultas nesta reserva usam slots inativos.
- Altere a quantidade de slots de valor de referência ou de escalonamento automático alocados para uma reserva.
Permissões necessárias
Para atualizar uma reserva, você precisa da seguinte permissão de gerenciamento de identidade e acesso (IAM, na sigla em inglês):
bigquery.reservations.update
no projeto de administração que mantém a propriedade dos compromissos.
Cada um dos seguintes papéis predefinidos do IAM inclui essa permissão:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Para mais informações sobre os papéis do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Alterar o tamanho de uma reserva
É possível adicionar ou remover slots de uma reserva.
Console
No Console do Google Cloud, acesse a página do BigQuery.
No painel de navegação, acesse a seção Gerenciamento de capacidade.
Clique na guia Reservas.
Encontre a reserva que você quer atualizar.
Expanda a opção
Ações.Clique em Editar.
Na caixa de diálogo Seletor de tamanho máximo da reserva, insira o tamanho máximo da reserva.
No campo Slots de valor de referência, insira o número de slots de valor de referência.
Clique em Salvar.
SQL
Para mudar o tamanho de uma reserva, use a
instrução ALTER RESERVATION SET OPTIONS
da linguagem de definição de dados (DDL, na sigla em inglês).
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
Substitua:
ADMIN_PROJECT_ID
: o ID do projeto de administração que é proprietário do recurso de reserva.LOCATION
: o local da reserva, por exemplo,europe-west9
.RESERVATION_NAME
: o nome da reserva. Ele precisa começar e terminar com uma letra minúscula ou um número e conter apenas letras minúsculas, números e traços.NUMBER_OF_BASELINE_SLOTS
: o número de slots de referência que serão alocados à reserva.
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Para atualizar o tamanho de uma reserva, use o comando bq update
com a
sinalização --reservation
:
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --slots=NUMBER_OF_BASELINE_SLOTS \ --reservation RESERVATION_NAME
Substitua:
ADMIN_PROJECT_ID
: o ID do projetoLOCATION
: o local da reservaNUMBER_OF_BASELINE_SLOTS
: o número de slots de referência que serão alocados à reserva.RESERVATION_NAME
: o nome da reserva
Python
Configurar se as consultas usam slots inativos
A sinalização --ignore_idle_slots
controla se as consultas em execução em uma reserva podem usar slots inativos de outras reservas. Para mais informações, consulte Slots inativos. É possível atualizar essa configuração em uma reserva existente.
Para atualizar uma reserva, use o comando bq update
com a
sinalização --reservation
. O exemplo a seguir define --ignore_idle_slots
como true
, o que significa que a reserva usará apenas slots alocados para a reserva.
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --ignore_idle_slots=true \ --reservation RESERVATION_NAME
Substitua:
ADMIN_PROJECT_ID
: o ID do projetoLOCATION
: o local da reservaRESERVATION_NAME
: o nome da reserva
Listar a configuração de slot inativo
Para listar a configuração slots de inatividade de uma reserva, faça o seguinte:
SQL
Consulte a coluna ignore_idle_slots
da
visualização INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
Substitua:
ADMIN_PROJECT_ID
: o ID do projeto de administração que é proprietário do recurso de reserva.LOCATION
: o local das reservas
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Use o comando bq ls
com a sinalização --reservation
:
bq ls --reservation \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION
Substitua:
ADMIN_PROJECT_ID
: o ID do projeto de administração que é proprietário do recurso de reserva.LOCATION
: o local das reservas.
O campo ignoreIdleSlots
contém a configuração.
Excluir reservas
Quando você exclui uma reserva, qualquer job que esteja sendo executado com slots dessa reserva falhará. Para evitar erros, permita que jobs em execução sejam concluídos antes de excluir a reserva.
Permissões necessárias
Para excluir uma reserva, você precisa da seguinte permissão de gerenciamento de identidade e acesso (IAM, na sigla em inglês):
bigquery.reservations.delete
no projeto de administração que mantém a propriedade dos compromissos.
Cada um dos seguintes papéis predefinidos do IAM inclui essa permissão:
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
Para mais informações sobre os papéis do IAM no BigQuery, consulte Papéis e permissões predefinidos.
Excluir uma reserva
Console
No Console do Google Cloud, acesse a página do BigQuery.
No painel de navegação, acesse a seção Gerenciamento de capacidade.
Clique na guia Reservas.
Encontre a reserva que você quer excluir.
Expanda a opção
Ações.Clique em Excluir.
Na caixa de diálogo Excluir reserva, clique em Excluir.
SQL
Para excluir uma reserva, use a
instrução DDL DROP RESERVATION
.
No Console do Google Cloud, acesse a página BigQuery.
No editor de consultas, digite a seguinte instrução:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
Substitua:
ADMIN_PROJECT_ID
: o ID do projeto de administração que é proprietário do recurso de reserva.LOCATION
: o local da reservaRESERVATION_NAME
: o ID d reserva.
Clique em
Executar.
Para mais informações sobre como executar consultas, acesse Executar uma consulta interativa.
bq
Para excluir uma reserva, use o comando bq rm
com a
sinalização --reservation
:
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation RESERVATION_NAME
Substitua:
ADMIN_PROJECT_ID
: o ID do projeto de administração que é proprietário do recurso de reserva.LOCATION
: o local da reservaRESERVATION_NAME
: o nome da reserva
Python
Adicionar a API BigQuery Reservation ao VPC Service Controls
A API BigQuery Reservation é compatível com o VPC Service Controls. Para integrar a API BigQuery Reservation ao VPC Service Controls, siga as instruções em Criar um perímetro de serviço e adicione a API BigQuery Reservation aos serviços protegidos.
Um perímetro de serviço protege o acesso a reservas, compromissos e atribuições em projetos de administração especificados no perímetro. Ao criar uma atribuição, o VPC Service Controls protege o projeto de administração e o projeto, a pasta e a organização atribuídos.