Gestione modelli

Questo documento mostra come gestire i modelli BigQuery ML, inclusa la copia e la ridenominazione 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 include 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
  • 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 modificare 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.

Copiare i modelli

Puoi copiare uno o più modelli da un set di dati di origine a un set di dati di destinazione:

  • Utilizzando la Google Cloud console.
  • Utilizzando il 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 quando crei 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 Google Cloud console.
  • 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:

  • Utilizzando il comando bq cp dello strumento a riga di comando
  • Chiamando il jobs.insert metodo API e configurando un job di copia o utilizzando le librerie client

Per copiare un modello:

Console

La Google Cloud console 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 non viene specificato -n, il comportamento predefinito è quello di chiederti se vuoi sostituire il modello di destinazione.

Se il set di dati di origine o di destinazione si trova in un progetto diverso da quello predefinito progetto, 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 località.

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 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à US (multiregionale).

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 tuo progetto predefinito. Il set di dati di destinazione si trova in myotherproject. La scorciatoia -f viene utilizzata per sovrascrivere il modello di destinazione senza richiesta. mydataset e myotherdataset sono stati creati nella località US multiregionale.

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 tuo 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à US (multiregionale).

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

Inserisci il seguente comando per copiare mydataset.mymodel in mydataset2 e 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 bigquery.jobs.insert metodo e configura un copy job. Specifica la tua località nella location proprietà nella jobReference sezione 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 saperne di più 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