Crea un grupo de atributos

Puedes crear un grupo de atributos para registrar una tabla o vista de BigQuery que contenga tus datos de atributos.

Para cualquier tabla o vista de BigQuery que asocies con un grupo de atributos, debes asegurarte de lo siguiente:

Después de crear un grupo de atributos y asociar la fuente de datos de BigQuery, puedes crear atributos para asociarlos con las columnas de la fuente de datos. Especificar una fuente de datos cuando creas el grupo de funciones es opcional. Sin embargo, debes especificar una fuente de datos antes de crear atributos.

Registrar tu fuente de datos con grupos de atributos y funciones tiene las siguientes ventajas:

  • Puedes definir una vista de atributos para la entrega en línea a través de columnas de atributos específicas provenientes de múltiples fuentes de datos de BigQuery.

  • De manera opcional, puedes darles formato a tus datos como una serie temporal si especificas una columna de marca de tiempo de atributos. Vertex AI Feature Store solo entrega los valores de atributos más recientes de los datos de atributos y excluye los históricos.

  • Puedes descubrir la fuente de BigQuery como la fuente de datos de atributos asociada cuando buscas el recurso del grupo de atributos en Data Catalog.

Antes de comenzar

Autentícate en Vertex AI, a menos que ya lo hayas hecho.

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

Python

Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

  1. Install the Google Cloud CLI.
  2. To initialize the gcloud CLI, run the following command:

    gcloud init
  3. If you're using a local shell, then create local authentication credentials for your user account:

    gcloud auth application-default login

    You don't need to do this if you're using Cloud Shell.

Para obtener más información, consulta Set up authentication for a local development environment.

REST

Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

    Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Crear un grupo de atributos desde una fuente de BigQuery

Usa las siguientes muestras para crear un grupo de atributos y asociar una fuente de datos de BigQuery.

Console

Usa las siguientes instrucciones para crear un grupo de atributos con la consola de Google Cloud.

  1. En la sección Vertex AI de la consola de Google Cloud, ve a a la página de Feature Store.

    Ir a la página Feature Store

  2. En la sección Feature groups, haz clic en Create para abrir el panel Basic info en la página Create Feature Group.

  3. Especifica el nombre del grupo de funciones.

  4. Opcional: Para agregar etiquetas, haz clic en Agregar etiqueta y especifica el nombre y el valor de la etiqueta. Puedes agregar varias etiquetas a un grupo de atributos.

  5. En el campo Ruta de BigQuery, haz clic en Explorar para seleccionar la tabla o vista de origen de BigQuery que deseas asociar con el grupo de atributos.

  6. Opcional: En la lista Columna de ID de la entidad, haz clic en la columna de ID de la entidad de la tabla o vista de origen de BigQuery.

  7. Haz clic en Continuar.

  8. En el panel Registrar, haz clic en una de las siguientes opciones para indicar si deseas agregar atributos al nuevo grupo de atributos:

    • Incluir todas las columnas de la tabla de BigQuery: Crea atributos dentro del grupo de atributos para todas las columnas de la tabla o vista de origen de BigQuery.

    • Ingresar los atributos manualmente: Crea atributos basados en columnas específicas en la fuente de BigQuery. Para cada atributo, ingresa un Nombre del atributo y haz clic en el nombre de la columna de origen de BigQuery correspondiente en la lista.

      Para agregar más atributos, haz clic en Agregar otro atributo.

    • Crear un grupo de atributos vacío: crea el grupo de funciones sin agregarle atributos.

  9. Haz clic en Crear.

Python

Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.


from google.cloud import aiplatform
from vertexai.resources.preview import feature_store
from typing import List


def create_feature_group_sample(
    project: str,
    location: str,
    feature_group_id: str,
    bq_table_uri: str,
    entity_id_columns: List[str],
):
    aiplatform.init(project=project, location=location)
    fg = feature_store.FeatureGroup.create(
        name=feature_group_id,
        source=feature_store.utils.FeatureGroupBigQuerySource(
            uri=bq_table_uri, entity_id_columns=entity_id_columns
        ),
    )
    return fg

  • project: ID del proyecto
  • location: La región en la que deseas crear el grupo de atributos, como us-central1.
  • feature_group_id: El nombre del grupo de atributos nuevo que deseas crear.
  • bq_table_uri: El URI de la vista o tabla de origen de BigQuery que deseas registrar para el grupo de funciones.
  • entity_id_columns: Los nombres de las columnas que contienen los IDs de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

Para crear un recurso FeatureGroup, envía una solicitud POST mediante el método featureGroups.create.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • LOCATION_ID: La región en la que deseas crear el grupo de atributos, como us-central1.
  • ENTITY_ID_COLUMNS: Los nombres de las columnas que contienen los ID de las entidades. Puedes especificar una o varias columnas.
    • Para especificar solo una columna de ID de la entidad, especifica el nombre de la columna en el siguiente formato:
      "entity_id_column_name".
    • Para especificar varias columnas de ID de entidad, especifica los nombres de las columnas en el siguiente formato:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • PROJECT_ID: ID del proyecto
  • FEATUREGROUP_NAME: El nombre del grupo de atributos nuevo que deseas crear.
  • BIGQUERY_SOURCE_URI: El URI de la vista o tabla de origen de BigQuery que deseas registrar para el grupo de funciones.
  • TIMESTAMP_COLUMN: Opcional Especifica el nombre de la columna que contiene las marcas de tiempo de los atributos en la tabla o vista de origen de BigQuery.
    Solo debes especificar el nombre de la columna de marca de tiempo si los datos tienen el formato de una serie temporal y la columna que contiene las marcas de tiempo de los atributos no se llama feature_timestamp.
  • STATIC_DATA_SOURCE: Opcional Ingresa true si los datos no tienen el formato de serie temporal. La configuración predeterminada es false.
  • DENSE: Opcional Indica cómo Vertex AI Feature Store controla los valores nulos mientras entrega datos de las vistas de atributos asociadas con el grupo de atributos:
    • false: Esta es la configuración predeterminada. Vertex AI Feature Store solo entrega los valores de atributos más recientes que no sean nulos. Si el valor más reciente de un atributo es nulo, Vertex AI Feature Store entrega el valor histórico más reciente que no sea nulo. Sin embargo, si los valores actuales y los históricos de esa función son nulos, Vertex AI Feature Store entrega un valor nulo como el valor de la función.
    • true: En el caso de las vistas de atributos con sincronización de datos programada, Vertex AI Feature Store solo entrega los valores de atributos más recientes, incluidos los valores nulos. En el caso de las vistas de atributos con sincronización de datos continua, Vertex AI Feature Store solo entrega los valores de atributos más recientes que no sean nulos. Sin embargo, si los valores actuales y históricos de la función son nulos, Vertex AI Feature Store entrega un valor nulo como el valor de la función. Para obtener más información sobre los tipos de sincronización de datos y cómo configurar el tipo de sincronización de datos en una vista de atributos, consulta Cómo sincronizar los datos en una vista de atributos.

Método HTTP y URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME

Cuerpo JSON de la solicitud:

{
  "big_query": {
    "entity_id_columns": "ENTITY_ID_COLUMNS",
    "big_query_source": {
      "input_uri": "BIGQUERY_SOURCE_URI",
    }
    "time_series": {
      "timestamp_column": ""TIMESTAMP_COLUMN"",
    },
    "static_data_source": STATIC_DATA_SOURCE,
    "dense": DENSE
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureGroupOperationMetadata",
    "genericMetadata": {
      "createTime": "2023-09-18T03:00:13.060636Z",
      "updateTime": "2023-09-18T03:00:13.060636Z"
    }
  }
}

¿Qué sigue?