Gestione modelli

Questa pagina mostra come gestire i modelli BigQuery ML, ad esempio copiarli e rinominarli.

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 Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per leggere e creare modelli BigQuery. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per leggere e creare modelli BigQuery sono necessarie le seguenti autorizzazioni:

  • Per leggere le informazioni dai modelli: bigquery.models.getData
  • Per creare modelli: bigquery.models.create

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Rinominare i modelli

Non puoi modificare il nome di un modello esistente. Se devi cambiare il nome del modello, segui i passaggi per copiare il modello. 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:

  • Utilizzando la 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 alla copia dei modelli

I job di copia del modello sono soggetti alle seguenti limitazioni:

  • Quando copi un modello, il nome del modello di destinazione deve rispettare le stesse convenzioni di denominazione utilizzate per creare 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

Per 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 richiede 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 non viene specificato -n, il comportamento predefinito è 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 --location flag e imposta il valore sulla tua posizione.

bq --location=LOCATION cp -f -n PROJECT_ID:DATASET.SOURCE_MODEL PROJECT_ID:DATASET.DESTINATION_MODEL

Sostituisci quanto segue:

  • LOCATION: il nome della tua località. 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 posizione utilizzando il file.bigqueryrc. Per un elenco completo delle località, consulta Località di 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à con più regioni US.

bq --location=US cp mydataset.mymodel mydataset2.mymodel

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à con più regioniUS.

bq --location=US cp -f mydataset.mymodel myotherproject:myotherdataset.mymodel

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 impedire la sovrascrittura di un modello con lo stesso nome. Entrambi i set di dati sono stati creati nella località multiregione US.

bq --location=US cp -n mydataset.mymodel myotherproject:myotherdataset.mymodel

Inserisci il seguente 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.

bq --location=asia-northeast1 cp mydataset.mymodel mydataset2.mymodel2

API

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:

"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
    },

Dove:

  • sourceTable: fornisce informazioni sul modello da copiare.
  • destinationTable: fornisce informazioni sul nuovo modello.
  • createDisposition: specifica se creare il modello se non esiste.
  • writeDisposition: specifica se sovrascrivere un modello esistente.

Criptare i modelli

Per ulteriori informazioni sull'utilizzo di una chiave di crittografia gestita dal cliente (CMEK) per criptare un modello, consulta Utilizzare CMEK per proteggere i modelli BigQuery ML.

Passaggi successivi