Featuregruppe erstellen

Sie können eine Featuregruppe erstellen, um eine BigQuery-Tabelle oder ‐Ansicht zu registrieren, die Ihre Featuredaten enthält.

Für jede BigQuery-Tabelle oder -Ansicht, die Sie mit einer Featuregruppe verknüpfen, müssen Sie Folgendes sicherstellen:

Nachdem Sie eine Featuregruppe erstellt und die BigQuery-Daten verknüpft haben Quelle haben, können Sie Features erstellen, die mit den Spalten in der Datenquelle verknüpft werden. Sie können beim Erstellen der Featuregruppe eine Datenquelle angeben. Vor dem Erstellen von Features müssen Sie jedoch eine Datenquelle angeben.

Wenn Sie die Datenquelle mithilfe von Featuregruppen und Features registrieren, bestehen folgende Vorteile:

  • Sie können eine Featureansicht für die Onlinebereitstellung definieren, indem Sie bestimmte Feature-Spalten aus mehreren BigQuery-Datenquellen verwenden.

  • Sie können Ihre Daten optional als Zeitreihe formatieren, indem Sie eine Spalte mit Zeitstempeln für die Features angeben. Vertex AI Feature Store stellt nur die neuesten Featurewerte aus den Featuredaten bereit und schließt historische Werte aus.

  • Sie können die BigQuery-Quelle als zugehörige Feature-Datenquelle ermitteln, wenn Sie in Data Catalog nach der Featuregruppen-Ressource suchen.

  • Sie können Feature-Monitoring einrichten, um Feature-Statistiken abzurufen und Feature-Drift zu erkennen.

Dienstkonto für eine Funktionsgruppe konfigurieren

Für den Zugriff auf die Quelldaten in BigQuery wird ein Dienstkonto verwendet. Vertex AI Feature Store weist diesem Dienstkonto die IAM-Rolle BigQuery-Identity and Access ManagementDatenbetrachter zu.

Standardmäßig wird für eine Featuregruppe das für Ihr Projekt konfigurierte Dienstkonto verwendet. Mit dieser Konfiguration kann jeder Nutzer mit der Berechtigung zum Erstellen einer Featuregruppe in Ihrem Projekt auf die Featuredaten in BigQuery zugreifen.

Alternativ können Sie die Funktionsgruppe so konfigurieren, dass sie ein eigenes Dienstkonto verwendet. Vertex AI Feature Store richtet dann ein spezielles Dienstkonto für die Featuregruppe ein. Mit dieser Konfiguration können Sie den Zugriff auf Feature-Daten in BigQuery einschränken oder zusätzlichen Nutzern Zugriff gewähren. Sie können die Dienstkontokonfiguration mit dem Parameter FeatureGroup.service_agent_type angeben. Vertex AI Feature Store generiert für jede Featuregruppe, für die ein dediziertes Dienstkonto konfiguriert ist, eine eindeutige E-Mail-Adresse für das Dienstkonto.

Wenn für eine Funktionsgruppe ein dediziertes Dienstkonto konfiguriert ist, können Sie die E-Mail-Adresse des Dienstkontos auf eine der folgenden Arten aufrufen:

Hinweise

Authentifizieren Sie sich bei Vertex AI, sofern nicht bereits geschehen.

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

Wenn Sie die Python Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

  1. Install the Google Cloud CLI.

  2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

    If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

Weitere Informationen unter Set up authentication for a local development environment.

REST

Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

    After installing the Google Cloud CLI, initialize it by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Eine Featuregruppe mit der Standarddienstkontokonfiguration erstellen

Verwenden Sie die folgenden Beispiele, um eine Featuregruppe mit der Standardkonfiguration für das Dienstkonto zu erstellen und eine BigQuery-Datenquelle zu verknüpfen.

Console

So erstellen Sie eine Feature-Gruppe mit der Google Cloud Console:

  1. Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Feature Store auf.

    Zur Seite „Feature Store“

  2. Klicken Sie im Abschnitt Featuregruppen auf Erstellen, um den Bereich Allgemeine Informationen auf der Seite Featuregruppe erstellen zu öffnen.

  3. Geben Sie den Namen der Featuregruppe an.

  4. Optional: Klicken Sie auf Label hinzufügen und geben Sie den Namen und den Wert des Labels an. Sie können einer Featuregruppe mehrere Labels hinzufügen.

  5. Klicken Sie im Feld BigQuery-Pfad auf Durchsuchen, um die BigQuery-Quelltabelle oder ‑ansicht auszuwählen, die mit der Featuregruppe verknüpft werden soll.

  6. Wählen Sie in der Liste Entitäts-ID-Spalte die Entitäts-ID-Spalten aus der BigQuery-Quelltabelle oder ‑ansicht aus.

    Das ist optional, wenn die BigQuery-Quelltabelle oder ‑Ansicht eine Spalte mit dem Namen entity_id hat. Wenn Sie in diesem Fall keine Spalte für die Entitäts-ID auswählen, wird die Spalte entity_id als Standardspalte für die Entitäts-ID verwendet.

  7. Klicken Sie auf Weiter.

  8. Klicken Sie im Bereich Register (Registrieren) auf eine der folgenden Optionen, um anzugeben, ob Sie der neuen Featuregruppe Features hinzufügen möchten:

    • Alle Spalten aus der BigQuery-Tabelle einschließen: Sie können in der Featuregruppe Features für alle Spalten in der BigQuery-Quelltabelle oder ‐ansicht erstellen.

    • Features manuell eingeben: Sie können Features basierend auf bestimmten Spalten in der BigQuery-Quelle erstellen. Geben Sie für jedes Feature einen Feature-Namen ein und klicken Sie in der Liste auf den entsprechenden Namen der BigQuery-Quellspalte.

      Wenn Sie weitere Features hinzufügen möchten, klicken Sie auf Weiteres Feature hinzufügen.

    • Leere Featuregruppe erstellen: Sie erstellen die Featuregruppe, ohne ihr Features hinzuzufügen.

  9. Klicken Sie auf Erstellen.

Python

Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Python-API-Referenzdokumentation.


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: Ihre Projekt-ID.
  • location: die Region, in der Sie die Featuregruppe erstellen möchten, z. B. us-central1.
  • feature_group_id: der Name der neuen Featuregruppe, die Sie erstellen möchten.
  • bq_table_uri: URI der BigQuery-Quelltabelle oder -Ansicht, die Sie für die Featuregruppe registrieren möchten.
  • entity_id_columns: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name".
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].

REST

So erstellen Sie eine FeatureGroup-Ressource: Senden Sie eine POST-Anfrage mithilfe der Methode featureGroups.create .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: die Region, in der Sie die Featuregruppe erstellen möchten, z. B. us-central1.
  • ENTITY_ID_COLUMNS: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name".
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • PROJECT_ID: Ihre Projekt-ID.
  • FEATUREGROUP_NAME: der Name der neuen Featuregruppe, die Sie erstellen möchten.
  • BIGQUERY_SOURCE_URI: URI der BigQuery-Quelltabelle oder -Ansicht, die Sie für die Featuregruppe registrieren möchten.
  • TIMESTAMP_COLUMN: Optional. Geben Sie den Namen der Spalte mit den Zeitstempeln für das Feature in der BigQuery-Quelltabelle oder -Ansicht an.
    Sie müssen den Namen der Zeitstempelspalte nur angeben, wenn die Daten als Zeitreihe formatiert sind und die Spalte mit den Zeitstempeln für das Feature nicht den Namen feature_timestamp hat.
  • STATIC_DATA_SOURCE: Optional. Geben Sie true ein, wenn die Daten nicht als Zeitreihe formatiert sind. Die Standardeinstellung ist false.
  • DENSE: Optional. Geben Sie an, wie Vertex AI Feature Store Nullwerte bei der Bereitstellung von Daten aus Featureansichten verarbeitet, die der Featuregruppe zugeordnet sind:
    • false: Das ist die Standardeinstellung. Vertex AI Feature Store stellt nur die neuesten Nicht-Null-Featurewerte bereit. Wenn der neueste Wert für ein Feature null ist, stellt Vertex AI Feature Store den letzten historischen Wert ungleich null bereit. Wenn jedoch sowohl die aktuellen als auch die bisherigen Werte für dieses Feature null sind, gibt Vertex AI Feature Store null als Featurewert zurück.
    • true: Bei Featureansichten mit geplanter Datensynchronisierung stellt Vertex AI Feature Store nur die neuesten Featurewerte bereit, einschließlich Nullwerten. Bei Feature-Ansichten mit kontinuierlicher Datensynchronisierung stellt Vertex AI Feature Store nur die neuesten Nicht-Null-Featurewerte bereit. Wenn jedoch sowohl die aktuellen als auch die bisherigen Werte für das Feature null sind, gibt Vertex AI Feature Store null als Featurewert zurück. Weitere Informationen zu Datensynchronisierungstypen und zum Konfigurieren des Typs der Datensynchronisierung in einer Featureansicht finden Sie unter Daten in einer Featureansicht synchronisieren.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

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

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:

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

Feature-Gruppe erstellen, für die ein spezielles Dienstkonto verwendet wird

In den folgenden Beispielen wird eine Featuregruppe aus einer BigQuery-Datenquelle erstellt, indem eine Dienstkontokonfiguration angegeben wird.

REST

So erstellen Sie eine FeatureGroup-Ressource: Senden Sie eine POST-Anfrage mithilfe der Methode featureGroups.create .

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • LOCATION_ID: die Region, in der Sie die Featuregruppe erstellen möchten, z. B. us-central1.
  • SERVICE_AGENT_TYPE: Dienstkontokonfiguration für die Featuregruppe. Wenn Sie ein spezielles Dienstkonto für die Funktionsgruppe verwenden möchten, geben Sie SERVICE_AGENT_TYPE_FEATURE_GROUP ein.
  • PROJECT_ID: Ihre Projekt-ID.
  • ENTITY_ID_COLUMNS: Die Namen der Spalten mit den Entitäts-IDs. Sie können entweder eine oder mehrere Spalten angeben.
    • Wenn Sie nur eine Spalte für die Entitäts-ID angeben möchten, geben Sie den Spaltennamen im folgenden Format an:
      "entity_id_column_name".
    • Wenn Sie mehrere Spalten für die Entitäts-ID angeben möchten, geben Sie die Spaltennamen im folgenden Format an:
      ["entity_id_column_1_name", "entity_id_column_2_name", ...].
  • FEATUREGROUP_NAME: der Name der neuen Featuregruppe, die Sie erstellen möchten.
  • BIGQUERY_SOURCE_URI: URI der BigQuery-Quelltabelle oder -Ansicht, die Sie für die Featuregruppe registrieren möchten.
  • TIMESTAMP_COLUMN: Optional. Geben Sie den Namen der Spalte mit den Zeitstempeln für das Feature in der BigQuery-Quelltabelle oder -Ansicht an.
    Sie müssen den Namen der Zeitstempelspalte nur angeben, wenn die Daten als Zeitreihe formatiert sind und die Spalte mit den Zeitstempeln für das Feature nicht den Namen feature_timestamp hat.
  • STATIC_DATA_SOURCE: Optional. Geben Sie true ein, wenn die Daten nicht als Zeitreihe formatiert sind. Die Standardeinstellung ist false.
  • DENSE: Optional. Geben Sie an, wie Vertex AI Feature Store Nullwerte bei der Bereitstellung von Daten aus Featureansichten verarbeitet, die der Featuregruppe zugeordnet sind:
    • false: Das ist die Standardeinstellung. Vertex AI Feature Store stellt nur die neuesten Nicht-Null-Featurewerte bereit. Wenn der neueste Wert für ein Feature null ist, stellt Vertex AI Feature Store den letzten historischen Wert ungleich null bereit. Wenn jedoch sowohl die aktuellen als auch die bisherigen Werte für dieses Feature null sind, gibt Vertex AI Feature Store null als Featurewert zurück.
    • true: Bei Featureansichten mit geplanter Datensynchronisierung stellt Vertex AI Feature Store nur die neuesten Featurewerte bereit, einschließlich Nullwerten. Bei Feature-Ansichten mit kontinuierlicher Datensynchronisierung stellt Vertex AI Feature Store nur die neuesten Nicht-Null-Featurewerte bereit. Wenn jedoch sowohl die aktuellen als auch die bisherigen Werte für das Feature null sind, gibt Vertex AI Feature Store null als Featurewert zurück. Weitere Informationen zu Datensynchronisierungstypen und zum Konfigurieren des Typs der Datensynchronisierung in einer Featureansicht finden Sie unter Daten in einer Featureansicht synchronisieren.

HTTP-Methode und URL:

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

JSON-Text der Anfrage:

{
  "service_agent_type": "SERVICE_AGENT_TYPE",
  "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
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

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

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$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

Sie sollten in etwa folgende JSON-Antwort erhalten:

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

Nächste Schritte