Administra modelos

En esta página, se muestra cómo administrar modelos de BigQuery ML, lo que incluye cómo copiar modelos y cómo cambiarles el nombre.

Cómo cambiar el nombre de los modelos

Actualmente, no puedes cambiar el nombre de un modelo existente. Si necesitas cambiar el nombre del modelo, sigue los pasos para copiar el modelo. Cuando especifiques el destino en la operación de copia, usa el nombre de modelo nuevo.

Cómo copiar modelos

Para copiar uno o más modelos de un conjunto de datos fuente a un conjunto de datos de destino, puedes hacer lo siguiente:

  • Usa Cloud Console.
  • Usa el comando bq cp de la herramienta de línea de comandos.
  • Llama directamente al método de la API jobs.insert y configura un trabajo de copia o usa las bibliotecas cliente.

Limitaciones en la copia de modelos

Los trabajos de copia de modelos están sujetos a las siguientes limitaciones:

  • Cuando copias un modelo, el nombre del modelo de destino debe respetar las mismas convenciones de nombres que cuando creas un modelo.
  • Las copias del modelo están sujetas a las políticas de cuotas de BigQuery ML en los trabajos de copia.
  • Por el momento, la IU web de BigQuery en Google Cloud Console no admite la copia de un modelo.
  • Cuando copias modelos, el conjunto de datos de destino debe residir en la misma ubicación que el conjunto de datos que contiene el modelo que se copia. Por ejemplo, no puedes copiar un modelo de un conjunto de datos de la UE y escribirlo en un conjunto de datos de EE.UU.
  • No se admite la copia de varios modelos fuente en un solo comando.
  • Cuando copias un modelo mediante la CLI, la marca --destination_kms_key no es compatible actualmente.

Cómo copiar un modelo

Puedes copiar un modelo de la siguiente forma:

  • Usa el comando bq cp de la herramienta de línea de comandos.
  • Llama al método de la API jobs.insert y configura un trabajo de copia o usa las bibliotecas cliente.

Para copiar un modelo, haz lo siguiente:

Console

Actualmente, la IU web de BigQuery en Cloud Console no admite la copia de modelos.

CLI

Ejecuta el comando bq cp. Marcas opcionales:

  • -f o --force reemplaza un modelo existente en el conjunto de datos de destino y no solicita confirmación.
  • -n o --no_clobber muestra el siguiente mensaje de error si el modelo existe en el conjunto de datos de destino: '[PROJECT_ID]:[DATASET].[MODEL]' already exists, skipping.

    Si no se especifica -n, el comportamiento predeterminado es solicitarte que elijas si deseas reemplazar el modelo de destino.

Si el conjunto de datos de origen o de destino se encuentra en un proyecto que no es el predeterminado, debes agregar el ID del proyecto a los nombres de los conjuntos de datos con el siguiente formato: [PROJECT_ID]:[DATASET].

Proporciona la marca --location y configura el valor en tu ubicación.

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

Donde:

  • [LOCATION] es el nombre de tu ubicación. La marca --location es opcional. Por ejemplo, si usas BigQuery ML en la región de Tokio, puedes establecer el valor de la marca en asia-northeast1. Puedes configurar un valor predeterminado para la ubicación con el archivo .bigqueryrc.
  • [PROJECT_ID] es el ID del proyecto.
  • [DATASET] es el nombre del conjunto de datos fuente o de destino.
  • [SOURCE_MODEL] es el modelo que estás copiando.
  • [DESTINATION_MODEL] es el nombre del modelo en el conjunto de datos de destino.

Ejemplos:

Ingresa el siguiente comando para copiar mydataset.mymodel a mydataset2. Ambos conjuntos de datos se encuentran en tu proyecto predeterminado y se crearon en la ubicación multirregional US.

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

Ingresa el siguiente comando para copiar mydataset.mymodel y reemplazar un modelo de destino con el mismo nombre. El conjunto de datos fuente se encuentra en tu proyecto predeterminado. El conjunto de datos de destino se encuentra en myotherproject. La combinación de teclas -f se utiliza para reemplazar el modelo de destino sin una solicitud. mydataset y myotherdataset se crearon en la ubicación multirregional US.

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

Ingresa el siguiente comando para copiar mydataset.mymodel y mostrar un error si el conjunto de datos de destino contiene un modelo con el mismo nombre. El conjunto de datos fuente se encuentra en tu proyecto predeterminado. El conjunto de datos de destino se encuentra en myotherproject. La combinación de teclas -n se utiliza para evitar reemplazar un modelo con el mismo nombre. Los dos conjuntos de datos se crearon en la ubicación multirregional US.

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

Ingresa el siguiente comando para copiar mydataset.mymodel a mydataset2 y cambiar el nombre del modelo mymodel2. Ambos conjuntos de datos se encuentran en tu proyecto predeterminado. Ambos conjuntos de datos se crearon en la región asia-northeast1.

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

API

Para copiar un modelo mediante el uso de la API, llama al método bigquery.jobs.insert y configura un trabajo copy. Especifica tu ubicación en la propiedad location en la sección jobReference del recurso de trabajo.

Debes especificar los siguientes valores en tu configuración de trabajo:

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

Donde:

  • sourceTable proporciona información sobre el modelo que se copiará.
  • destinationTable proporciona información sobre el modelo nuevo.
  • createDisposition especifica si se debe crear el modelo si no existe.
  • writeDisposition especifica si se reemplaza un modelo existente.

Próximos pasos