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 Trusted Cloud consola.
- Usando o comando
bq cp
da 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 Trusted 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_key
não é suportada.
Copie um modelo
Pode copiar um modelo:
- Usar o comando
bq cp
da ferramenta de linha de comandos - Chamar o método da API
jobs.insert
e configurar uma tarefa de cópia ou usar as bibliotecas cliente
Para copiar um modelo:
Consola
A Trusted Cloud consola não suporta a cópia de modelos.
bq
Emita o comando bq cp
. Sinalizadores opcionais:
-f
ou--force
substitui um modelo existente no conjunto de dados de destino e não lhe pede confirmação.-n
ou--no_clobber
devolve a seguinte mensagem de erro se o modelo existir no conjunto de dados de destino:'[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping
.Se
-n
nã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
.
bq cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL
Substitua o seguinte:
- 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
.
bq 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.
bq 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.
bq 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 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: