Faça a gestão de modelos
Este documento mostra como gerir modelos do BigQuery ML, incluindo copiar e mudar o nome de modelos.
Funções necessárias
Para obter as autorizações de que
precisa para ler e criar modelos do BigQuery,
peça ao seu administrador para lhe conceder a função do IAM de
editor de dados do BigQuery (roles/bigquery.dataEditor)
no projeto.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Esta função predefinida contém as autorizações necessárias para ler e criar modelos do BigQuery. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
São necessárias as seguintes autorizações para ler e criar modelos do BigQuery:
-
Para ler informações de modelos:
bigquery.models.getData -
Para criar modelos:
bigquery.models.create
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Mude o nome dos modelos
Não pode alterar o nome de um modelo existente. Se precisar de alterar o nome do modelo, siga os passos para copiar o modelo. Quando especificar o destino na operação de cópia, use o novo nome do modelo.
Copie modelos
Pode copiar um ou mais modelos de um conjunto de dados de origem para um conjunto de dados de destino das seguintes formas:
- Usar a Google Cloud consola.
- Usando o comando
bq cpda ferramenta de linhas de comando bq. - Chamar diretamente o método da API jobs.insert e configurar uma tarefa de cópia ou usar as bibliotecas cliente.
Limitações na cópia de modelos
As tarefas de cópia de modelos estão sujeitas às seguintes limitações:
- Quando copia um modelo, o nome do modelo de destino tem de cumprir as mesmas convenções de nomenclatura que quando cria um modelo.
- As cópias de modelos estão sujeitas aos limites do BigQuery em tarefas de cópia.
- A cópia de um modelo não é suportada pela Google Cloud consola.
- A cópia de vários modelos de origem num único comando não é suportada.
- Quando copia um modelo através da CLI, a flag
--destination_kms_keynão é suportada.
Copie um modelo
Pode copiar um modelo:
- Usar o comando
bq cpda ferramenta de linha de comandos - Chamar o método da API
jobs.inserte configurar uma tarefa de cópia ou usar as bibliotecas cliente
Para copiar um modelo:
Consola
A Google Cloud consola não suporta a cópia de modelos.
bq
Emita o comando bq cp. Sinalizadores opcionais:
-fou--forcesubstitui um modelo existente no conjunto de dados de destino e não lhe pede confirmação.-nou--no_clobberdevolve a seguinte mensagem de erro se o modelo existir no conjunto de dados de destino:'[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.Se
-nnão for especificado, o comportamento predefinido é pedir-lhe que escolha se quer substituir o modelo de destino.
Se o conjunto de dados de origem ou de destino estiver num projeto diferente do seu projeto predefinido, adicione o ID do projeto aos nomes dos conjuntos de dados no seguinte formato: PROJECT_ID:DATASET.
Forneça a flag
--location e defina o valor para a sua
localização.
bq --location=LOCATION cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL
Substitua o seguinte:
- LOCATION:
o nome da sua localização. A flag
--locationé opcional. Por exemplo, se estiver a usar o BigQuery na região de Tóquio, pode definir o valor da flag comoasia-northeast1. Pode predefinir um valor para a localização através do ficheiro.bigqueryrc. Para ver uma lista completa de localizações, consulte o artigo Localizações do BigQuery. - PROJECT_ID: o ID do seu projeto.
- DATASET: o nome do conjunto de dados de origem ou de destino.
- SOURCE_MODEL: o modelo que está a copiar.
- DESTINATION_MODEL: o nome do modelo no conjunto de dados de destino.
Exemplos:
Introduza o seguinte comando para copiar mydataset.mymodel para mydataset2.
Ambos os conjuntos de dados estão no seu projeto predefinido e foram
criados na localização US multirregional.
bq --location=US cp mydataset.mymodel mydataset2.mymodel
Introduza o seguinte comando para copiar mydataset.mymodel e substituir um modelo de destino com o mesmo nome. O conjunto de dados de origem está no seu projeto predefinido. O conjunto de dados de destino está em myotherproject. O atalho -f é usado para substituir o modelo de destino sem um comando.
mydataset e
myotherdataset foram criados na localização
multirregional US.
bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel
Introduza o seguinte comando para copiar mydataset.mymodel e devolver um erro
se o conjunto de dados de destino contiver um modelo com o mesmo nome. O conjunto de dados de origem está no seu projeto predefinido. O conjunto de dados de destino está em
myotherproject. O atalho -n é usado para evitar a substituição de um modelo com o mesmo nome.
Ambos os conjuntos de dados foram criados na localização multirregional US.
bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel
Introduza o seguinte comando para copiar mydataset.mymodel para mydataset2 e
para mudar o nome do modelo mymodel2. Ambos os conjuntos de dados estão no seu projeto predefinido.
Ambos os conjuntos de dados foram criados na região asia-northeast1.
bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2
API
Para copiar um modelo através da API, chame o método
bigquery.jobs.insert
e configure uma tarefa copy. Especifique a sua localização na propriedade location na secção jobReference do recurso job.
Tem de especificar os seguintes valores na configuração da tarefa:
"copy": {
"sourceTable": { // Required
"projectId": string, // Required
"datasetId": string, // Required
"tableId": string // Required
},
"destinationTable": { // Required
"projectId": string, // Required
"datasetId": string, // Required
"tableId": string // Required
},
"createDisposition": string, // Optional
"writeDisposition": string, // Optional
},
Onde:
sourceTable: fornece informações sobre o modelo a ser copiado.destinationTable: fornece informações sobre o novo modelo.createDisposition: especifica se o modelo deve ser criado caso não exista.writeDisposition: especifica se deve substituir um modelo existente.
Encriptar modelos
Para mais informações sobre a utilização de uma chave de encriptação gerida pelo cliente (CMEK) para encriptar um modelo, consulte o artigo Use CMEK to protect BigQuery ML models (Use CMEK para proteger modelos do BigQuery ML).
O que se segue?
- Para uma vista geral do BigQuery ML, consulte o artigo Introdução ao BigQuery ML.
- Para começar a usar o BigQuery ML, consulte o artigo Crie modelos de aprendizagem automática no BigQuery ML.
- Para saber como trabalhar com modelos, consulte: