Trabalhe com reservas de slots antigas
A API BigQuery Reservation permite-lhe comprar slots dedicados (denominados compromissos), criar pools de slots (denominados reservas) e atribuir projetos, pastas e organizações a essas reservas.
As reservas permitem-lhe atribuir um número dedicado de espaços
a uma carga de trabalho. Por exemplo, pode não querer que uma carga de trabalho de produção concorra com cargas de trabalho de teste por vagas. Pode criar uma reserva denominada prod e atribuir as suas cargas de trabalho de produção a esta reserva. Para mais informações, consulte o artigo
Reservas.
Crie reservas
Autorizações necessárias
Para criar uma reserva, precisa da seguinte autorização de gestão de identidade e de acesso (IAM):
bigquery.reservations.createno projeto de administração que mantém a propriedade dos compromissos.
Cada uma das seguintes funções de IAM predefinidas inclui esta autorização:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
Para mais informações sobre as funções de IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.
Crie uma reserva com horários dedicados
Selecione uma das seguintes opções:
Consola
Na Google Cloud consola, aceda à página do BigQuery.
No menu de navegação, clique em Gestão da capacidade.
Clique em Criar reserva.
No campo Nome da reserva, introduza um nome para a reserva.
Na lista pendente Localização, selecione a localização.
Na secção Modelo de capacidade, selecione o modelo de capacidade.
Se selecionar a opção Tarifa fixa, em Espaços base, introduza o número de espaços para a reserva.
- Na lista do seletor de tamanho máximo da reserva, selecione o tamanho máximo da reserva.
Opcional: no campo Intervalos de base, introduza o número de intervalos de base para a reserva. Para usar apenas a capacidade do espaço especificado, clique no botão Ignorar espaços inativos.
A quantidade de espaços de dimensionamento automático disponíveis é determinada subtraindo o valor de espaços de base ao valor de tamanho máximo da reserva. Por exemplo, se criar uma reserva com 100 espaços base e um tamanho máximo de reserva de 400, a sua reserva tem 300 espaços de escalabilidade automática. Para mais informações sobre os horários de base, consulte o artigo Usar reservas com horários de base e de escalabilidade automática.
Para desativar a partilha de espaços ociosos, clique no botão Ignorar espaços ociosos.
A discriminação dos espaços é apresentada na tabela Estimativa de custos. É apresentado um resumo da reserva na tabela Resumo da capacidade.
Clique em Guardar.
A nova reserva é visível no separador Reservas.
SQL
Para criar uma reserva, use a
CREATE RESERVATION declaração DDL.
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projeto do projeto de administração que detém o recurso de reservaLOCATION: a localização da reserva. Se selecionar uma localização do BigQuery Omni, a sua opção de edição está limitada à Enterprise Edition.RESERVATION_NAME: o nome da reservaTem de 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 espaços de base a atribuir à reserva. Não pode definir a opçãoslot_capacitye a opçãoeditionna mesma reserva.EDITION: a edição da reserva. A atribuição de uma reserva a uma edição implica alterações de funcionalidades e preços. Para mais informações, consulte o artigo Introdução às edições do BigQuery.NUMBER_OF_AUTOSCALING_SLOTS: o número de espaços de escala automática atribuídos à reserva. Isto é igual ao valor do tamanho máximo da reserva menos o número de espaços base.
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
bq
Para criar uma reserva, use o comando bq mk com a flag --reservation:
bq mk \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation \
--slots=NUMBER_OF_BASELINE_SLOTS \
--ignore_idle_slots=false \
RESERVATION_NAME
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projetoLOCATION: a localização da reserva. Se selecionar uma localização do BigQuery Omni, a opção de edição está limitada à edição Enterprise.NUMBER_OF_BASELINE_SLOTS: o número de espaços base a atribuir à reservaRESERVATION_NAME: o nome da reservaEDITION: a edição da reserva. A atribuição de uma reserva a uma edição implica alterações de funcionalidades e preços. Para mais informações, consulte o artigo Introdução às edições do BigQuery.NUMBER_OF_AUTOSCALING_SLOTS: o número de espaços de escala automática atribuídos à reserva. Isto é igual ao valor do tamanho máximo da reserva menos o número de espaços base.
Para obter informações sobre a flag --ignore_idle_slots, consulte o artigo
Espaços inativos. O valor predefinido é false.
Python
Atualize reservas
Pode fazer as seguintes atualizações a uma reserva:
- Altere o tamanho da reserva adicionando ou removendo espaços.
- Configure se as consultas nesta reserva usam espaços livres.
- Altere a quantidade de espaços de base ou de dimensionamento automático atribuídos a uma reserva.
Autorizações necessárias
Para atualizar uma reserva, precisa da seguinte autorização de gestão de identidade e de acesso (IAM):
bigquery.reservations.updateno projeto de administração que mantém a propriedade dos compromissos.
Cada uma das seguintes funções de IAM predefinidas inclui esta autorização:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
Para mais informações sobre as funções de IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.
Altere o tamanho de uma reserva
Pode adicionar ou remover horários de uma reserva existente.
Consola
Na Google Cloud consola, aceda à página do BigQuery.
No menu de navegação, clique em Gestão da capacidade.
Clique no separador Reservas.
Encontre a reserva que quer atualizar.
Expanda a opção Ações.
Clique em Edit.
Na caixa de diálogo Seletor de tamanho máximo da reserva, introduza o tamanho máximo da reserva.
No campo Intervalos base, introduza o número de intervalos base.
Clique em Guardar.
SQL
Para alterar o tamanho de uma reserva, use a declaração de linguagem de definição de dados (LDD) ALTER RESERVATION SET OPTIONS.
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, );
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projeto do projeto de administração que detém o recurso de reservaLOCATION: a localização da reserva, por exemplo,europe-west9.RESERVATION_NAME: o nome da reserva. Tem de 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 espaços de base a atribuir à reserva.
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
bq
Para atualizar o tamanho de uma reserva, use o comando bq update com a flag --reservation:
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--slots=NUMBER_OF_BASELINE_SLOTS \
--reservation RESERVATION_NAME
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projetoLOCATION: a localização da reservaNUMBER_OF_BASELINE_SLOTS: o número de espaços base a atribuir à reservaRESERVATION_NAME: o nome da reserva
Python
Configure se as consultas usam espaços disponíveis
O sinalizador --ignore_idle_slots controla se as consultas executadas numa reserva podem usar horários disponíveis de outras reservas. Para mais informações, consulte o artigo
Espaços inativos. Pode atualizar esta configuração numa reserva existente.
Para atualizar uma reserva, use o comando bq update com a flag --reservation . O exemplo seguinte define --ignore_idle_slots como true, o que significa que a reserva só usa espaços atribuídos à reserva.
bq update \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--ignore_idle_slots=true \
--reservation RESERVATION_NAME
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projetoLOCATION: a localização da reservaRESERVATION_NAME: o nome da reserva
Liste a configuração do espaço inativo
Para apresentar a definição de horários disponíveis para uma reserva, faça o seguinte:
SQL
Consulte a coluna ignore_idle_slots da vista INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT.
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projeto do projeto de administração que detém os recursos de reservaLOCATION: a localização das reservas
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
bq
Use o comando bq ls com a flag --reservation:
bq ls --reservation \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projeto do projeto de administração que detém os recursos de reservaLOCATION: a localização das reservas
O campo ignoreIdleSlots contém a definição de configuração.
Elimine reservas
Quando elimina uma reserva, todas as tarefas que estão atualmente a ser executadas com horários dessa reserva falham. Para evitar erros, permita que os trabalhos em execução sejam concluídos antes de eliminar a reserva.
Autorizações necessárias
Para eliminar uma reserva, precisa da seguinte autorização de gestão de identidade e de acesso (IAM):
bigquery.reservations.deleteno projeto de administração que mantém a propriedade dos compromissos.
Cada uma das seguintes funções de IAM predefinidas inclui esta autorização:
BigQuery AdminBigQuery Resource AdminBigQuery Resource Editor
Para mais informações sobre as funções de IAM no BigQuery, consulte o artigo Funções e autorizações predefinidas.
Elimine uma reserva
Consola
Na Google Cloud consola, aceda à página do BigQuery.
No menu de navegação, clique em Gestão da capacidade.
Clique no separador Reservas.
Encontre a reserva que quer eliminar.
Expanda a opção Ações.
Clique em Eliminar.
Na caixa de diálogo Eliminar reserva, clique em Eliminar.
SQL
Para eliminar uma reserva, use a declaração DDL
DROP RESERVATION.
Na Google Cloud consola, aceda à página BigQuery.
No editor de consultas, introduza a seguinte declaração:
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projeto do projeto de administração que detém o recurso de reservaLOCATION: a localização da reservaRESERVATION_NAME: o ID da reserva
Clique em Executar.
Para mais informações sobre como executar consultas, consulte o artigo Execute uma consulta interativa.
bq
Para eliminar uma reserva, use o comando bq rm com a flag --reservation:
bq rm \
--project_id=ADMIN_PROJECT_ID \
--location=LOCATION \
--reservation RESERVATION_NAME
Substitua o seguinte:
ADMIN_PROJECT_ID: o ID do projeto do projeto de administração que detém o recurso de reservaLOCATION: a localização da reservaRESERVATION_NAME: o nome da reserva
Python
Adicione a API BigQuery Reservation aos VPC Service Controls
A API BigQuery Reservation suporta os VPC Service Controls. Para integrar a API BigQuery Reservation com os VPC Service Controls, siga as instruções em Crie 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. Quando cria uma atribuição, os VPC Service Controls protegem o projeto de administração e o projeto, a pasta e a organização do destinatário.