Esportazione di modelli

Panoramica

Questa pagina mostra come esportare i modelli BigQuery ML. Puoi esportare i modelli BigQuery ML in Cloud Storage e utilizzarli per la previsione online o modificarli in Python. Puoi esportare un modello BigQuery ML come indicato di seguito:

  • Su Cloud Console.
  • Utilizzando l'istruzione EXPORT MODEL.
  • Usare il comando bq extract nello strumento a riga di comando bq.
  • Invio di un job extract tramite l'API o le librerie client.

Puoi esportare i seguenti tipi di modelli:

  • AUTOENCODER
  • AUTOML_CLASSIFIER
  • AUTOML_REGRESSOR
  • BOOSTED_TREE_CLASSIFIER
  • BOOSTED_TREE_REGRESSOR
  • DNN_CLASSIFIER
  • DNN_REGRESSOR
  • DNN_LINEAR_COMBINED_CLASSIFIER
  • DNN_LINEAR_COMBINED_REGRESSOR
  • KMEANS
  • LINEAR_REG
  • LOGISTIC_REG
  • MATRIX_FACTORIZATION
  • TENSORFLOW (modelli TensorFlow importati)
  • PCA

Esporta formati e campioni del modello

La tabella seguente mostra i formati di destinazione di esportazione per ogni tipo di modello BigQuery ML e fornisce un esempio di file che vengono scritti nel bucket Cloud Storage.

Tipo di modello Esporta formato modello File esportati campione
AUTOML_CLASSIFIER TensorFlow SalvaModello (TF 2.1.0) gcs_bucket/
  assets/
    f1.txt
    f2.txt
  saved_model.pb
  variables/
    variables.data-00-of-01
    variables.index
AUTOML_REGRESSOR
CODICE AUTOMATICO TensorFlow SalvaModello (TF 1.15 o superiore)
DNN_CLASSIFICAZIONE
DNN_REGRESSOR
DNN_LINEAR_COMBINED_CLASSIFIER
DNN_LINEAR_COMBINED_REGRESSOR
KMEAN
LINEAR_REGRESSOR
LOGISTIC_REG
MATRIX_FACTORIZATION
PCA
BOOSTED_TREE_CLASSIFIER Richiamo (XGBoost 0.82) gcs_bucket/
  assets/
    0.txt
    1.txt
    model_metadata.json
  main.py
  model.bst
  xgboost_predictor-0.1.tar.gz
    ....
     predictor.py
    ....


main.py è per la corsa locale. Per maggiori dettagli, vedi Deployment di modelli.
BOOSTED_TREE_REGRESSOR
TENSORFLOW (importato) TensorFlow salvato modello Esattamente gli stessi file presenti quando importi il modello

Il modello non contiene le informazioni sulla progettazione della funzionalità eseguite nell'istruzione SELECT durante l'addestramento, quindi dovrai convertire manualmente i dati di input prima di inserire il modello nel modello esportato.

Limitazioni

Quando esporti i modelli, si applicano le seguenti limitazioni:

  • L'esportazione del modello non è supportata se durante l'addestramento è stata utilizzata una delle seguenti funzionalità:

  • I modelli esportati per i tipi di modelli AUTOML_REGRESSOR e AUTOML_CLASSIFIER non supportano il deployment di AI Platform per la previsione online.

  • Il limite di dimensione del modello è di 1 GB per l'esportazione del modello di fattorizzazione della matrice. La dimensione del modello è circa proporzionale a num_factors, quindi puoi ridurre num_factors durante l'addestramento per ridurre le dimensioni del modello se raggiungi il limite.

  • Le funzionalità relative alle chiavi di crittografia gestite dal cliente non sono supportate per l'esportazione dei modelli.

Esportazione dei modelli BigQuery ML

Per esportare un modello:

Console

  1. Apri la pagina BigQuery in Cloud Console.

    Vai alla pagina BigQuery

  2. Nella sezione Risorse del pannello di navigazione, espandi il progetto e fai clic sul tuo set di dati per espanderlo. Trova e fai clic sul modello che stai esportando.

  3. Fai clic su Esporta modello sul lato destro della finestra.

    Esporta modello

  4. Nella finestra di dialogo Esporta modello in Cloud Storage:

    • In Seleziona la località di Cloud Storage, cerca il bucket o la posizione della cartella in cui vuoi esportare il modello.
    • Fai clic su Esporta per esportare il modello.

Per controllare l'avanzamento del job, cerca Job nella parte superiore della navigazione per trovare un job di esportazione.

SQL

L'istruzione EXPORT MODEL consente di esportare i modelli BigQuery ML in Cloud Storage utilizzando la sintassi delle query SQL standard.

Per esportare un modello BigQuery ML in Cloud Console utilizzando l'istruzione EXPORT MODEL, segui questi passaggi:

  1. In Cloud Console, apri la pagina BigQuery.

    Vai a BigQuery

  2. Fai clic su Crea nuova query.

  3. Nel campo Editor query, digita l'istruzione EXPORT MODEL.

    La query seguente esporta un modello denominato myproject.mydataset.mymodel in un bucket Cloud Storage con URI gs://bucket/path/to/saved_model/.

     EXPORT MODEL `myproject.mydataset.mymodel`
     OPTIONS(URI = 'gs://bucket/path/to/saved_model/')
     

  4. Fai clic su Esegui. Una volta completata la query, nel riquadro Risultati delle query viene visualizzato quanto segue: Successfully exported model.

bq

Utilizza il comando bq extract con il flag --model.

(Facoltativo) Fornisci il flag --destination_format e scegli il formato del modello esportato. (Facoltativo) Fornisci il flag --location e imposta il valore sulla località.

bq --location=location extract \
--destination_format format \
--model project_id:dataset.model \
gs://bucket/model_folder

Dove:

  • location è il nome della tua sede. Il flag --location è facoltativo. Ad esempio, se utilizzi BigQuery nell'area geografica di Tokyo, puoi impostare il valore del flag su asia-northeast1. Puoi impostare un valore predefinito per la località utilizzando il file.bigqueryrc.
  • destination_format è il formato del modello esportato: ML_TF_SAVED_MODEL (predefinito) o ML_XGBOOST_BOOSTER.
  • project_id è l'ID progetto.
  • dataset è il nome del set di dati di origine.
  • model è il modello che stai esportando.
  • bucket è il nome del bucket Cloud Storage in cui esporti i dati. Il set di dati BigQuery e il bucket Cloud Storage devono essere nella stessa località.
  • model_folder è il nome della cartella in cui verranno scritti i file del modello esportati.

Esempi:

Ad esempio, il seguente comando esporta mydataset.mymodel nel formato TensorFlow savedmodel in un bucket Cloud Storage denominato mymodel_folder.

bq extract --model \
'mydataset.mymodel' \
gs://example-bucket/mymodel_folder

Il valore predefinito di destination_format è ML_TF_SAVED_MODEL.

Il seguente comando esporta mydataset.mymodel in formato XGBoost Booster in un bucket Cloud Storage denominato mymodel_folder.

bq extract --model \
--destination_format ML_XGBOOST_BOOSTER \
'mydataset.mytable' \
gs://example-bucket/mymodel_folder

API

Per esportare il modello, crea un job extract e compila la relativa configurazione.

(Facoltativo) Specifica la tua località nella proprietà location nella sezione jobReference della risorsa job.

  1. Crea un job di estrazione che punta al modello BigQuery ML e alla destinazione di Cloud Storage.

  2. Specifica il modello di origine utilizzando l'oggetto di configurazione sourceModel che contiene l'ID progetto, l'ID del set di dati e l'ID modello.

  3. La proprietà destination URI(s) deve essere completa, nel formato gs://bucket/model_folder.

  4. Specifica il formato di destinazione impostando la proprietà configuration.extract.destinationFormat. Ad esempio, per esportare un modello di albero potenziato, imposta questa proprietà sul valore ML_XGBOOST_BOOSTER.

  5. Per controllare lo stato del job, chiama jobs.get(job_id) fornendo l'ID del job restituito dalla richiesta iniziale.

    • Se status.state = DONE, il job è stato completato correttamente.
    • Se è presente la proprietà status.errorResult, la richiesta non è andata a buon fine e l'oggetto includerà informazioni che descrivono il problema.
    • Se status.errorResult non è presente, il job è stato completato correttamente, anche se potrebbero esserci errori non irreversibili. Gli errori non irreversibili sono elencati nella proprietà status.errors dell'oggetto job restituito.

Note API:

  • Come best practice, genera un ID univoco e trasmettilo come jobReference.jobId quando chiami jobs.insert per creare un job. Questo approccio è più efficace in caso di errore di rete, perché il client può eseguire il polling o riprovare sull'ID job noto.

  • Chiamare jobs.insert su un determinato ID job è idempotente; in altre parole, puoi riprovare tutte le volte che vuoi per lo stesso ID job e al massimo una di queste operazioni avrà esito positivo.

Java

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.ExtractJobConfiguration;
import com.google.cloud.bigquery.Job;
import com.google.cloud.bigquery.JobInfo;
import com.google.cloud.bigquery.ModelId;

// Sample to extract model to GCS bucket
public class ExtractModel {

  public static void main(String[] args) throws InterruptedException {
    // TODO(developer): Replace these variables before running the sample.
    String projectName = "bigquery-public-data";
    String datasetName = "samples";
    String modelName = "model";
    String bucketName = "MY-BUCKET-NAME";
    String destinationUri = "gs://" + bucketName + "/path/to/file";
    extractModel(projectName, datasetName, modelName, destinationUri);
  }

  public static void extractModel(
      String projectName, String datasetName, String modelName, String destinationUri)
      throws InterruptedException {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      ModelId modelId = ModelId.of(projectName, datasetName, modelName);

      ExtractJobConfiguration extractConfig =
          ExtractJobConfiguration.newBuilder(modelId, destinationUri).build();

      Job job = bigquery.create(JobInfo.of(extractConfig));

      // Blocks until this job completes its execution, either failing or succeeding.
      Job completedJob = job.waitFor();
      if (completedJob == null) {
        System.out.println("Job not executed since it no longer exists.");
        return;
      } else if (completedJob.getStatus().getError() != null) {
        System.out.println(
            "BigQuery was unable to extract due to an error: \n" + job.getStatus().getError());
        return;
      }
      System.out.println("Model extract successful");
    } catch (BigQueryException ex) {
      System.out.println("Model extraction job was interrupted. \n" + ex.toString());
    }
  }
}

Deployment dei modelli

Puoi eseguire il deployment del modello esportato in Google Cloud AI Platform e anche in locale.

Deployment di AI Platform

Esporta formato modello Deployment
TensorFlow Video salvato (modelli non AutoML) Esegui il deployment di un modello Tensorflow salvato (versione di runtime 1.15 o successive)
Tensorflow Salvamodel (modelli AutoML) Non supportata
Booster XGBoost Routine di previsione personalizzata (versione di runtime 1.15)

Nota: dal momento che nei file esportati sono salvate informazioni di pre-elaborazione e post-elaborazione, devi utilizzare una routine di previsione personalizzata per eseguire il deployment del modello con i file aggiuntivi esportati.

Deployment locale

Esporta formato modello Deployment
TensorFlow Video salvato (modelli non AutoML) SaveModel è un formato standard e puoi eseguirne il deployment nel container docker Tensorflow.

Puoi anche utilizzare l'esecuzione locale della previsione online di AI Platform.
Tensorflow Salvamodel (modelli AutoML) Esegui il contenitore AutoML.
Booster XGBoost Per eseguire i modelli XGBoost Booster in locale, puoi utilizzare il file main.py esportato:
  1. Scarica tutti i file da Cloud Storage nella directory locale.
  2. Decomprimi il file predictor.py da xgboost_predictor-0.1.tar.gz nella directory locale.
  3. Esegui main.py (vedi le istruzioni in main.py).

Formato output della previsione

Questa sezione fornisce il formato di output della previsione dei modelli esportati per ogni tipo di modello. Tutti i modelli esportati supportano la previsione batch; sono in grado di gestire più righe di input contemporaneamente. Ad esempio, in ciascuno dei seguenti esempi di formati di output sono presenti due righe di input.

CODICE AUTOMATICO

Formato output della previsione Campione di output

+------------------------+------------------------+------------------------+
|      LATENT_COL_1      |      LATENT_COL_2      |           ...          |
+------------------------+------------------------+------------------------+
|       [FLOAT]          |         [FLOAT]        |           ...          |
+------------------------+------------------------+------------------------+
        

+------------------+------------------+------------------+------------------+
|   LATENT_COL_1   |   LATENT_COL_2   |   LATENT_COL_3   |   LATENT_COL_4   |
+------------------------+------------+------------------+------------------+
|    0.21384512    |    0.93457112    |    0.64978097    |    0.00480489    |
+------------------+------------------+------------------+------------------+
        

AUTOML_CLASSIFIER

Formato output della previsione Campione di output

+------------------------------------------+
| predictions                              |
+------------------------------------------+
| [{"scores":[FLOAT], "classes":[STRING]}] |
+------------------------------------------+
        

+---------------------------------------------+
| predictions                                 |
+---------------------------------------------+
| [{"scores":[1, 2], "classes":['a', 'b']},   |
|  {"scores":[3, 0.2], "classes":['a', 'b']}] |
+---------------------------------------------+
        

AUTOML_REGRESSOR

Formato output della previsione Campione di output

+-----------------+
| predictions     |
+-----------------+
| [FLOAT]         |
+-----------------+
        

+-----------------+
| predictions     |
+-----------------+
| [1.8, 2.46]     |
+-----------------+
        

BOOSTED_TREE_CLASSIFIER

Formato output della previsione Campione di output

+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [FLOAT]     | [STRING]     | STRING          |
+-------------+--------------+-----------------+
        

+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [0.1, 0.9]  | ['a', 'b']   | ['b']           |
+-------------+--------------+-----------------+
| [0.8, 0.2]  | ['a', 'b']   | ['a']           |
+-------------+--------------+-----------------+
        

BOOSTED_TREE_REGRESSOR

Formato output della previsione Campione di output

+-----------------+
| predicted_label |
+-----------------+
| FLOAT           |
+-----------------+
        

+-----------------+
| predicted_label |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
        

DNN_CLASSIFICAZIONE

Formato output della previsione Campione di output

+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [INT64]       | [STRING]    | INT64     | STRING  | FLOAT                  | [FLOAT]| [FLOAT]       |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
        

+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.36]                 | [-0.53]| [0.64, 0.36]  |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.2]                  | [-1.38]| [0.8, 0.2]    |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
        

DNN_REGRESSOR

Formato output della previsione Campione di output

+-----------------+
| PREDICTED_LABEL |
+-----------------+
| FLOAT           |
+-----------------+
        

+-----------------+
| PREDICTED_LABEL |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
        

DNN_LINEAR_COMBINED_CLASSIFIER

Formato output della previsione Campione di output

+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [INT64]       | [STRING]    | INT64     | STRING  | FLOAT                  | [FLOAT]| [FLOAT]       |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
        

+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| ALL_CLASS_IDS | ALL_CLASSES | CLASS_IDS | CLASSES | LOGISTIC (binary only) | LOGITS | PROBABILITIES |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.36]                 | [-0.53]| [0.64, 0.36]  |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
| [0, 1]        | ['a', 'b']  | [0]       | ['a']   | [0.2]                  | [-1.38]| [0.8, 0.2]    |
+---------------+-------------+-----------+---------+------------------------+--------+---------------+
        

DNN_LINEAR_COMBINED_REGRESSOR

Formato output della previsione Campione di output

+-----------------+
| PREDICTED_LABEL |
+-----------------+
| FLOAT           |
+-----------------+
        

+-----------------+
| PREDICTED_LABEL |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
        

KMEAN

Formato output della previsione Campione di output

+--------------------+--------------+---------------------+
| CENTROID_DISTANCES | CENTROID_IDS | NEAREST_CENTROID_ID |
+--------------------+--------------+---------------------+
| [FLOAT]            | [INT64]      | INT64               |
+--------------------+--------------+---------------------+
        

+--------------------+--------------+---------------------+
| CENTROID_DISTANCES | CENTROID_IDS | NEAREST_CENTROID_ID |
+--------------------+--------------+---------------------+
| [1.2, 1.3]         | [1, 2]       | [1]                 |
+--------------------+--------------+---------------------+
| [0.4, 0.1]         | [1, 2]       | [2]                 |
+--------------------+--------------+---------------------+
        

REGAR_REG

Formato output della previsione Campione di output

+-----------------+
| PREDICTED_LABEL |
+-----------------+
| FLOAT           |
+-----------------+
        

+-----------------+
| PREDICTED_LABEL |
+-----------------+
| [1.8]           |
+-----------------+
| [2.46]          |
+-----------------+
       

LOGISTIC_REG

Formato output della previsione Campione di output

+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [FLOAT]     | [STRING]     | STRING          |
+-------------+--------------+-----------------+
        

+-------------+--------------+-----------------+
| LABEL_PROBS | LABEL_VALUES | PREDICTED_LABEL |
+-------------+--------------+-----------------+
| [0.1, 0.9]  | ['a', 'b']   | ['b']           |
+-------------+--------------+-----------------+
| [0.8, 0.2]  | ['a', 'b']   | ['a']           |
+-------------+--------------+-----------------+
        

MATRIX_FACTORIZATION

Nota: al momento supportiamo solo l'acquisizione di un utente di input e l'esecuzione di oltre 50 coppie (prevedito_rating, predict_item) ordinate da predict_rating in ordine decrescente.

Formato output della previsione Campione di output

+--------------------+--------------+
| PREDICTED_RATING | PREDICTED_ITEM |
+------------------+----------------+
| [FLOAT]          | [STRING]       |
+------------------+----------------+
        

+--------------------+--------------+
| PREDICTED_RATING | PREDICTED_ITEM |
+------------------+----------------+
| [5.5, 1.7]       | ['A', 'B']     |
+------------------+----------------+
| [7.2, 2.7]       | ['B', 'A']     |
+------------------+----------------+
        

TENSORFLOW (importato)

Formato output della previsione
Uguale al modello importato

PCA

Formato output della previsione Campione di output

+-------------------------+---------------------------------+
| PRINCIPAL_COMPONENT_IDS | PRINCIPAL_COMPONENT_PROJECTIONS |
+-------------------------+---------------------------------+
|       [INT64]           |             [FLOAT]             |
+-------------------------+---------------------------------+
        

+-------------------------+---------------------------------+
| PRINCIPAL_COMPONENT_IDS | PRINCIPAL_COMPONENT_PROJECTIONS |
+-------------------------+---------------------------------+
|       [1, 2]            |             [1.2, 5.0]          |
+-------------------------+---------------------------------+
        

Visualizzazione del modello XGBoost

Puoi visualizzare gli alberi potenziati con l'API plot_tree Python dopo l'esportazione del modello. Ad esempio, puoi utilizzare Colab senza installare le dipendenze:

  1. Esporta il modello ad albero potenziato in un bucket Cloud Storage.
  2. Scarica il file model.bst dal bucket Cloud Storage.
  3. In un notelab Colab, carica il file model.bst su Files.
  4. Esegui il codice seguente nel blocco note:

    import xgboost as xgb
    import matplotlib.pyplot as plt
    
    model = xgb.Booster(model_file="model.bst")
    num_iterations = <iteration_number>
    for tree_num in range(num_iterations):
      xgb.plot_tree(model, num_trees=tree_num)
    plt.show
    

Questo esempio mostra più alberi (un albero per iterazione):

Esporta modello

Al momento non salviamo i nomi delle caratteristiche nel modello, quindi vedrai nomi quali "quot";00", " "f1" e così via. Puoi trovare i nomi delle funzionalità corrispondenti nel file esportato assets/model_metadata.json utilizzando questi nomi (come "f0") come indici.

Autorizzazioni obbligatorie

Per esportare un modello BigQuery ML in Cloud Storage, devi avere le autorizzazioni necessarie per accedere al modello BigQuery ML, autorizzazioni per eseguire un job di esportazione e autorizzazioni per scrivere i dati nel bucket Cloud Storage.

Autorizzazioni BigQuery

  • Per esportare il modello, devi disporre almeno delle autorizzazioni di bigquery.models.export. Vengono concesse le seguenti autorizzazioni IAM predefinite a bigquery.models.export:

    • bigquery.dataViewer
    • bigquery.dataOwner
    • bigquery.dataEditor
    • bigquery.admin
  • Per eseguire un job di esportazione, devi disporre almeno delle autorizzazioni bigquery.jobs.create. Ai seguenti ruoli IAM predefiniti vengono concesse autorizzazioni bigquery.jobs.create:

    • bigquery.user
    • bigquery.jobUser
    • bigquery.admin

Autorizzazioni di Cloud Storage

  • Per scrivere i dati in un bucket Cloud Storage esistente, devi disporre delle autorizzazioni storage.objects.create. Ai seguenti ruoli IAM predefiniti vengono concesse autorizzazioni storage.objects.create:

    • storage.objectCreator
    • storage.objectAdmin
    • storage.admin

Per ulteriori informazioni sui ruoli IAM e sulle autorizzazioni in BigQuery ML, consulta Controllo dell'accesso. Per ulteriori informazioni sui ruoli a livello di set di dati, consulta Ruoli di base per i set di dati nella documentazione di BigQuery.

Considerazioni sulla località

Quando scegli una posizione per i tuoi dati, tieni presente quanto segue:

  • Coordina i bucket Cloud Storage per esportare i dati.
    • Quando esporti dati, il bucket Cloud Storage a livello di una o più aree geografiche deve trovarsi nella stessa località del set di dati BigQuery ML. Ad esempio, se il set di dati BigQuery ML si trova in una località con più aree geografiche dell'UE, il bucket Cloud Storage contenente i dati che stai esportando deve trovarsi in una località a singola area geografica o a più aree geografiche nell'UE.
    • Se il set di dati si trova in una località a livello di area geografica, il bucket Cloud Storage deve essere un bucket a livello di area geografica nella stessa località. Ad esempio, se il set di dati si trova nell'area geografica di Tokyo, il bucket Cloud Storage deve essere un bucket a livello di area geografica a Tokyo.
    • Eccezione: se il set di dati si trova in una località con più aree geografiche negli Stati Uniti, puoi esportare i dati in un bucket Cloud Storage in qualsiasi località con una o più aree geografiche.
  • Sviluppa un piano di gestione dei dati.
    • Se scegli una risorsa di archiviazione a livello di area geografica, come un set di dati BigQuery ML o un bucket Cloud Storage, sviluppa un piano per la gestione geografica dei dati.

Per ulteriori informazioni sulle località di Cloud Storage, consulta la sezione Località dei bucket nella documentazione di Cloud Storage.

Spostamento di dati BigQuery tra località diverse

Non puoi modificare la posizione di un set di dati dopo averlo creato, ma puoi crearne una copia.

Criteri per le quote

Per informazioni sulle quote dei job di esportazione, consulta Esportazione dei job nella pagina Quote e limiti.

Prezzi

Non è previsto alcun costo per esportare i modelli BigQuery ML, ma le esportazioni sono soggette alle quote e ai limiti di BigQuery. Per ulteriori informazioni sui prezzi di BigQuery, consulta la pagina Prezzi.

Dopo l'esportazione, i costi vengono addebitati per l'archiviazione dei dati in Cloud Storage. Per ulteriori informazioni sui prezzi di Cloud Storage, consulta la pagina dei prezzi di Cloud Storage.

Passaggi successivi