Crea un grupo de atributos

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

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

  • El esquema de la fuente de datos cumple con los lineamientos de preparación de fuentes de datos.

  • La fuente de datos contiene los ID de la entidad como valores string en una columna llamada entity_id.

  • La fuente de datos contiene las marcas de tiempo de los atributos del tipo timestamp en una columna llamada feature_timestamp

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. Es opcional especificar una fuente de datos mientras se crea el grupo de atributos. 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.

  • Puedes darles formato a tus datos como una serie temporal si incluyes la columna feature_timestamp. 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 Grupos de atributos, haz clic en Crear para abrir el panel Información básica en la página Crear grupo de funciones.

  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 acceso de BigQuery, haz clic en Explorar para seleccionar la tabla de origen de BigQuery o la vista para asociarla con el grupo de atributos.

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

  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 en la tabla de origen de BigQuery o la vista.

    • 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.

HTTP method and 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"
    }
  }
}

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?