Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Gestione modelli
Questo documento mostra come gestire i modelli BigQuery ML, inclusi
la copia e il cambio di nome dei modelli.
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per leggere e creare modelli BigQuery,
chiedi all'amministratore di concederti il ruolo IAM
Editor dati BigQuery (roles/bigquery.dataEditor) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene
le autorizzazioni necessarie per leggere e creare modelli BigQuery. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per leggere e creare modelli BigQuery sono necessarie le seguenti autorizzazioni:
Per leggere le informazioni dai modelli:
bigquery.models.getData
Non puoi modificare il nome di un modello esistente. Se devi
modificare il nome del modello, segui i passaggi per copiarlo. Quando
specifichi la destinazione nell'operazione di copia, utilizza il nuovo nome del modello.
Copia modelli
Puoi copiare uno o più modelli da un set di dati di origine a un set di dati di destinazione
in uno dei seguenti modi:
Utilizzo della console Google Cloud .
Utilizzo del comando bq cp dello strumento a riga di comando bq.
Chiamando direttamente il metodo API jobs.insert e configurando un job di copia o utilizzando le librerie client.
Limitazioni relative alla copia dei modelli
I job di copia dei modelli sono soggetti alle seguenti limitazioni:
Quando copi un modello, il nome del modello di destinazione deve rispettare le stesse convenzioni di denominazione utilizzate per la creazione di un modello.
Le copie dei modelli sono soggette ai limiti di BigQuery per i job di copia.
La copia di un modello non è supportata dalla console Google Cloud .
La copia di più modelli di origine in un unico comando non è supportata.
Quando copi un modello utilizzando la CLI, il flag --destination_kms_key non è supportato.
Copiare un modello
Puoi copiare un modello:
Utilizzo del comando bq cp dello strumento a riga di comando
Chiamando il metodo API jobs.insert e configurando un job di copia o utilizzando le librerie client
Per copiare un modello:
Console
La console Google Cloud non supporta la copia dei modelli.
bq
Esegui il comando bq cp. Flag facoltativi:
-f o --force sovrascrive un modello esistente nel set di dati di destinazione
e non ti chiede la conferma.
-n o --no_clobber restituisce il seguente messaggio di errore se il modello
esiste nel set di dati di destinazione: '[PROJECT_ID]:[DATASET].[MODEL]'
already exists, skipping.
Se -n non è specificato, il comportamento predefinito è quello di chiederti di scegliere
se sostituire il modello di destinazione.
Se il set di dati di origine o di destinazione si trova in un progetto diverso da quello predefinito, aggiungi l'ID progetto ai nomi dei set di dati nel seguente formato:
PROJECT_ID:DATASET.
Fornisci il flag
--location e imposta il valore sulla tua
posizione.
LOCATION:
il nome della tua sede. Il flag --location è
facoltativo. Ad esempio, se utilizzi BigQuery nella
regione di Tokyo, puoi impostare il valore del flag su asia-northeast1. Puoi
impostare un valore predefinito per la località utilizzando il
file.bigqueryrc.
Per un elenco completo delle località, consulta
Località BigQuery.
PROJECT_ID: il tuo ID progetto.
DATASET: il nome del set di dati di origine o di destinazione.
SOURCE_MODEL: il modello che stai copiando.
DESTINATION_MODEL: il nome del modello nel set di dati di destinazione.
Esempi:
Inserisci il seguente comando per copiare mydataset.mymodel in
mydataset2.
Entrambi i set di dati si trovano nel tuo progetto predefinito e sono stati
creati nella località multi-regione US.
Inserisci il seguente comando per copiare mydataset.mymodel e sovrascrivere un modello di destinazione con lo stesso nome. Il set di dati di origine si trova nel progetto
predefinito. Il set di dati di destinazione si trova in myotherproject. La scorciatoia -f viene
utilizzata per sovrascrivere il modello di destinazione senza un prompt.
mydataset e
myotherdataset sono stati creati nella località
multiregionale US.
Inserisci il seguente comando per copiare mydataset.mymodel e restituire un errore
se il set di dati di destinazione contiene un modello con lo stesso nome. Il set di dati
di origine si trova nel progetto predefinito. Il set di dati di destinazione si trova in
myotherproject. La scorciatoia -n viene utilizzata per evitare di sovrascrivere un modello con
lo stesso nome.
Entrambi
i set di dati sono stati creati nella località multiregionale US.
Inserisci questo comando per copiare mydataset.mymodel in mydataset2 e
per rinominare il modello mymodel2. Entrambi i set di dati si trovano nel tuo progetto predefinito.
Entrambi i set di dati sono stati creati nella regione asia-northeast1.
Per copiare un modello utilizzando l'API, chiama il metodo
bigquery.jobs.insert
e configura un job copy. Specifica la tua posizione nella proprietà
location nella sezione jobReference della
risorsa job.
Devi specificare i seguenti valori nella configurazione del job:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eThis document explains how to manage BigQuery ML models, focusing on copying and renaming models, as directly renaming existing models is not supported.\u003c/p\u003e\n"],["\u003cp\u003eTo read and create BigQuery models, users need the \u003ccode\u003ebigquery.models.getData\u003c/code\u003e and \u003ccode\u003ebigquery.models.create\u003c/code\u003e permissions, respectively, which are included in the \u003ccode\u003eroles/bigquery.dataEditor\u003c/code\u003e IAM role.\u003c/p\u003e\n"],["\u003cp\u003eModels can be copied to a destination dataset using the Google Cloud command-line tool (\u003ccode\u003ebq cp\u003c/code\u003e), API (\u003ccode\u003ejobs.insert\u003c/code\u003e), or client libraries, but not the Google Cloud console, and they must adhere to specific naming conventions.\u003c/p\u003e\n"],["\u003cp\u003eCopying models with the command-line tool (\u003ccode\u003ebq cp\u003c/code\u003e) supports options to overwrite (\u003ccode\u003e-f\u003c/code\u003e) or prevent overwriting (\u003ccode\u003e-n\u003c/code\u003e) existing models at the destination, but the \u003ccode\u003e--destination_kms_key\u003c/code\u003e flag is unsupported.\u003c/p\u003e\n"],["\u003cp\u003eWhile model renaming is not directly supported, it can be achieved by copying a model to a new destination and assigning it the desired name during the copy operation.\u003c/p\u003e\n"]]],[],null,["# Manage models\n=============\n\nThis document shows you how to manage BigQuery ML models, including\ncopying models and renaming models.\n\nRequired roles\n--------------\n\n\nTo get the permissions that\nyou need to read and create BigQuery models,\n\nask your administrator to grant you the\n\n\n[BigQuery Data Editor](/iam/docs/roles-permissions/bigquery#bigquery.dataEditor) (`roles/bigquery.dataEditor`)\nIAM role on the project.\n\n\nFor more information about granting roles, see [Manage access to projects, folders, and organizations](/iam/docs/granting-changing-revoking-access).\n\n\nThis predefined role contains\n\nthe permissions required to read and create BigQuery models. To see the exact permissions that are\nrequired, expand the **Required permissions** section:\n\n\n#### Required permissions\n\nThe following permissions are required to read and create BigQuery models:\n\n- To read information from models: ` ``bigquery.models.getData`\n- To create models: ` ``bigquery.models.create`\n\n\nYou might also be able to get\nthese permissions\nwith [custom roles](/iam/docs/creating-custom-roles) or\nother [predefined roles](/iam/docs/roles-overview#predefined).\n\nRename models\n-------------\n\nYou cannot change the name of an existing model. If you need to\nchange the model's name, follow the steps to [copy the model](#copy-model). When\nyou specify the destination in the copy operation, use the new model name.\n\nCopy models\n-----------\n\nYou can copy one or more models from a source dataset to a destination dataset\nby:\n\n- Using the Google Cloud console.\n- Using the bq command-line tool's `bq cp` command.\n- Calling the [jobs.insert](/bigquery/docs/reference/rest/v2/jobs/insert) API method directly and configuring a [copy job](/bigquery/docs/reference/rest/v2/Job#JobConfigurationTableCopy) or by using the client libraries.\n\n### Limitations on copying models\n\nModel copy jobs are subject to the following limitations:\n\n- When you copy a model, the name of the destination model must adhere to the same naming conventions as when you [create a model](/bigquery/docs/reference/standard-sql/bigqueryml-syntax-create#model_name).\n- Model copies are subject to BigQuery [limits](/bigquery/quotas#copy_jobs) on copy jobs.\n- Copying a model is not supported by the Google Cloud console.\n- Copying multiple source models in a single command is not supported.\n- When you copy a model by using the CLI, the `--destination_kms_key` flag is not supported.\n\n### Copy a model\n\nYou can copy a model by:\n\n- Using the command-line tool's `bq cp` command\n- Calling the [`jobs.insert`](/bigquery/docs/reference/rest/v2/jobs/insert) API method and configuring a [copy job](/bigquery/docs/reference/rest/v2/Job#JobConfigurationTableCopy) or by using the client libraries\n\nTo copy a model: \n\n### Console\n\nThe Google Cloud console does not support copying models.\n\n### bq\n\nIssue the `bq cp` command. Optional flags:\n\n- `-f` or `--force` overwrites an existing model in the destination dataset and doesn't prompt you for confirmation.\n- `-n` or `--no_clobber` returns the following error message if the model\n exists in the destination dataset: `'[PROJECT_ID]:[DATASET].[MODEL]'\n already exists, skipping`.\n\n If `-n` is not specified, the default behavior is to prompt you to choose\n whether to replace the destination model.\n\n| **Note:** The `--destination_kms_key` flag is not supported when you copy a model.\n\nIf the source or destination dataset is in a project other than your default\nproject, add the project ID to the dataset names in the following format:\n\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`:`\u003cvar translate=\"no\"\u003eDATASET\u003c/var\u003e.\n\nSupply the\n`--location` flag and set the value to your\n[location](/bigquery/docs/locations). \n\n```bash\nbq --location=LOCATION cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: the name of your location. The `--location` flag is optional. For example, if you are using BigQuery in the Tokyo region, you can set the flag's value to `asia-northeast1`. You can set a default value for the location using the [.bigqueryrc file](/bigquery/docs/bq-command-line-tool#setting_default_values_for_command-line_flags). For a full list of locations, see [BigQuery locations](/bigquery/docs/locations).\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: your project ID.\n- \u003cvar translate=\"no\"\u003eDATASET\u003c/var\u003e: the name of the source or destination dataset.\n- \u003cvar translate=\"no\"\u003eSOURCE_MODEL\u003c/var\u003e: the model you're copying.\n- \u003cvar translate=\"no\"\u003eDESTINATION_MODEL\u003c/var\u003e: the name of the model in the destination dataset.\n\nExamples:\n\nEnter the following command to copy `mydataset.mymodel` to\n`mydataset2`.\n\nBoth datasets are in your default project and were\ncreated in the `US` multi-region location. \n\n```\nbq --location=US cp mydataset.mymodel mydataset2.mymodel\n```\n\nEnter the following command to copy `mydataset.mymodel` and to overwrite a\ndestination model with the same name. The source dataset is in your default\nproject. The destination dataset is in `myotherproject`. The `-f` shortcut is\nused to overwrite the destination model without a prompt.\n`mydataset` and\n`myotherdataset` were created in the `US` multi-region\nlocation. \n\n```\nbq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel\n```\n\nEnter the following command to copy `mydataset.mymodel` and to return an error\nif the destination dataset contains a model with the same name. The source\ndataset is in your default project. The destination dataset is in\n`myotherproject`. The `-n` shortcut is used to prevent overwriting a model with\nthe same name.\nBoth\ndatasets were created in the `US` multi-region location. \n\n```\nbq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel\n```\n\nEnter the following command to copy `mydataset.mymodel` to `mydataset2` and\nto rename the model `mymodel2`. Both datasets are in your default project.\nBoth datasets were created in the `asia-northeast1` region. \n\n```\nbq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2\n```\n\n### API\n\nTo copy a model by using the API, call the\n[`bigquery.jobs.insert`](/bigquery/docs/reference/rest/v2/jobs/insert)\nmethod and configure a `copy` job. Specify your location in the\n`location` property in the `jobReference` section of the\n[job resource](/bigquery/docs/reference/rest/v2/jobs).\n\nYou must specify the following values in your job configuration: \n\n```\n\"copy\": {\n \"sourceTable\": { // Required\n \"projectId\": string, // Required\n \"datasetId\": string, // Required\n \"tableId\": string // Required\n },\n \"destinationTable\": { // Required\n \"projectId\": string, // Required\n \"datasetId\": string, // Required\n \"tableId\": string // Required\n },\n \"createDisposition\": string, // Optional\n \"writeDisposition\": string, // Optional\n },\n```\n\nWhere:\n\n- `sourceTable`: provides information about the model to be copied.\n- `destinationTable`: provides information about the new model.\n- [createDisposition](/bigquery/docs/reference/rest/v2/Job#JobConfigurationTableCopy.FIELDS.create_disposition): specifies whether to create the model if it doesn't exist.\n- [writeDisposition](/bigquery/docs/reference/rest/v2/Job#JobConfigurationTableCopy.FIELDS.write_disposition): specifies whether to overwrite an existing model.\n\nEncrypt models\n--------------\n\nFor more information about using a customer-managed encryption key (CMEK) to\nencrypt a model, see\n[Use CMEK to protect BigQuery ML models](/bigquery/docs/customer-managed-encryption#cmek-bqml).\n\nWhat's next\n-----------\n\n- For an overview of BigQuery ML, see [Introduction to BigQuery ML](/bigquery/docs/bqml-introduction).\n- To get started using BigQuery ML, see [Create machine learning models in BigQuery ML](/bigquery/docs/create-machine-learning-model).\n- To learn more about working with models, see:\n - [Get model metadata](/bigquery/docs/getting-model-metadata)\n - [List models](/bigquery/docs/listing-models)\n - [Update model metadata](/bigquery/docs/updating-model-metadata)\n - [Delete models](/bigquery/docs/deleting-models)\n - [Manage models with Vertex AI](/bigquery/docs/managing-models-vertex)"]]