Exporte valores de funcionalidades

Exporte valores de funcionalidades para todas as entidades de um único tipo de entidade para uma tabela do BigQuery ou um contentor do Cloud Storage. Pode optar por obter uma imagem instantânea ou exportar totalmente os valores das funcionalidades. Uma imagem instantânea devolve um único valor por elemento em comparação com uma exportação completa, que pode devolver vários valores por elemento. Não pode selecionar IDs de entidades específicos nem incluir vários tipos de entidades quando exporta valores de funcionalidades.

A exportação de valores de funcionalidades é útil para arquivar ou realizar análises ad hoc nos seus dados. Por exemplo, pode armazenar capturas de ecrã normais do seu featurestore para guardar o respetivo estado em diferentes momentos. Se precisar de obter valores de funcionalidades para criar um conjunto de dados de preparação, use o serviço em lote.

Comparação de exportação completa e instantânea

As opções de instantâneo e exportação completa permitem-lhe consultar dados especificando uma única data/hora (a data/hora de início ou de fim) ou ambas as datas/horas. Para as capturas de ecrã, o Vertex AI Feature Store (antigo) devolve o valor da funcionalidade mais recente num determinado intervalo de tempo. Na saída, a data/hora associada a cada valor de caraterística é a data/hora da captura de ecrã (não a data/hora do valor de caraterística).

Para exportações completas, o Vertex AI Feature Store (antigo) devolve todos os valores de caraterísticas num determinado intervalo de tempo. Na saída, a indicação de tempo associada a cada valor de funcionalidade é a indicação de tempo da funcionalidade (a indicação de tempo especificada quando o valor da funcionalidade foi carregado).

A tabela seguinte resume o que o Vertex AI Feature Store (antigo) devolve com base na opção que escolher e nas datas/horas que fornecer.

Opção Hora de início apenas (inclusive) Hora de fim apenas (inclusive) Hora de início e de fim (inclusive)
Instantâneo Começando pela hora atual (quando o pedido foi recebido), devolve o valor mais recente, retrocedendo até à hora de início.
A data/hora do instantâneo é definida para a hora atual.
Começando pela hora de fim, devolve o valor mais recente, retrocedendo até ao primeiro valor de cada funcionalidade.
A data/hora da captura de ecrã é definida para a hora de fim especificada.
Devolve o valor mais recente no intervalo de tempo especificado.
A data/hora da captura de ecrã é definida para a hora de fim especificada.
Exportação completa Devolve todos os valores a partir da hora de início e até à hora atual (quando o pedido foi enviado). Devolve todos os valores até à hora de fim, retrocedendo até ao primeiro valor de cada funcionalidade. Devolve todos os valores no intervalo de tempo especificado.

Valores nulos

Para as capturas instantâneas, se o valor da funcionalidade mais recente for nulo numa determinada data/hora, o Vertex AI Feature Store (antigo) devolve o valor da funcionalidade anterior não nulo. Se não existirem valores não nulos anteriores, o Vertex AI Feature Store (antigo) devolve um valor nulo.

Para exportações completas, se um valor de funcionalidade for nulo numa determinada data/hora, o Vertex AI Feature Store (antigo) devolve nulo para essa data/hora.

Exemplos

Por exemplo, suponha que tinha os seguintes valores num featurestore, em que os valores de Feature_A e Feature_B partilham a mesma data/hora:

ID da entidade Data/hora do valor da funcionalidade Feature_A Feature_B
123 T1 A_T1 B_T1
123 T2 A_T2 NULL
123 T3 A_T3 NULL
123 T4 A_T4 B_T4
123 T5 NULL B_T5

Instantâneo

Para as capturas instantâneas, o Vertex AI Feature Store (antigo) devolve os seguintes valores com base nos valores de data/hora indicados:

  • Se apenas a hora de início estiver definida como T3, o instantâneo devolve os seguintes valores:
ID da entidade Data/hora do resumo Feature_A Feature_B
123 CURRENT_TIME A_T4 B_T5
  • Se apenas a hora de fim estiver definida como T3, o instantâneo devolve os seguintes valores:
ID da entidade Data/hora do resumo Feature_A Feature_B
123 T3 A_T3 B_T1
  • Se as horas de início e fim estiverem definidas como T2 e T3, a captura instantânea devolve os seguintes valores:
ID da entidade Data/hora do resumo Feature_A Feature_B
123 T3 A_T3 NULL

Exportação completa

Para exportações completas, o Vertex AI Feature Store (antigo) devolve os seguintes valores com base nos valores de data/hora indicados:

  • Se apenas a hora de início estiver definida como T3, a exportação completa devolve os seguintes valores:
ID da entidade Data/hora do valor da funcionalidade Feature_A Feature_B
123 T3 A_T3 NULL
123 T4 A_T4 B_T4
123 T5 NULL B_T5
  • Se apenas a hora de fim estiver definida como T3, a exportação completa devolve os seguintes valores:
ID da entidade Data/hora do valor da funcionalidade Feature_A Feature_B
123 T1 A_T1 B_T1
123 T2 A_T2 NULL
123 T3 A_T3 NULL
  • Se as horas de início e fim estiverem definidas como T2 e T4, a exportação completa devolve os seguintes valores:
ID da entidade Data/hora do valor da funcionalidade Feature_A Feature_B
123 T2 A_T2 NULL
123 T3 A_T3 NULL
123 T4 A_T4 B_T4

Exporte valores de funcionalidades

Quando exporta valores de atributos, escolhe os atributos a consultar e se se trata de uma imagem instantânea ou de uma exportação completa. As secções seguintes mostram um exemplo para cada opção.

Para ambas as opções, o destino de saída tem de estar na mesma região que o featurestore de origem. Por exemplo, se o seu Feature Store estiver em us-central1, o contentor do Cloud Storage ou a tabela do BigQuery de destino também têm de estar em us-central1.

Instantâneo

Exporte os valores das funcionalidades mais recentes para um determinado intervalo de tempo.

IU da Web

Use outro método. Não pode exportar valores de funcionalidades da Google Cloud consola.

REST

Para exportar valores de atributos, envie um pedido POST através do método entityTypes.exportFeatureValues.

O exemplo seguinte gera uma tabela do BigQuery, mas também pode gerar para um contentor do Cloud Storage. Cada destino de saída pode ter alguns pré-requisitos antes de poder enviar um pedido. Por exemplo, se especificar um nome de tabela para o campo bigqueryDestination, tem de ter um conjunto de dados existente. Estes requisitos estão documentados na referência da API.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: região onde se encontra o Feature Store. Por exemplo, us-central1.
  • PROJECT_ID: o seu ID do projeto.
  • FEATURESTORE_ID: ID da Feature Store.
  • ENTITY_TYPE_ID: ID do tipo de entidade.
  • START_TIME e END_TIME: (opcional) se especificar apenas a hora de início, devolve o valor mais recente a partir da hora atual (quando o pedido é enviado) e retrospetivamente até à hora de início. Se especificar apenas a hora de fim, devolve o valor mais recente a partir da hora de fim (inclusive) e retrospetivamente até ao primeiro valor. Se especificar uma hora de início e uma hora de fim, devolve o valor mais recente no intervalo de tempo especificado (inclusive). Se não especificar nenhum, devolve os valores mais recentes de cada funcionalidade, começando na hora atual e retrocedendo até ao primeiro valor.
  • DATASET_NAME: nome do conjunto de dados do BigQuery de destino.
  • TABLE_NAME: nome da tabela de destino do BigQuery.
  • FEATURE_ID: ID de uma ou mais funcionalidades. Especifique um único * (asterisco) para selecionar todas as funcionalidades.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues

Corpo JSON do pedido:

{
  "snapshotExport": {
    "start_time": "START_TIME",
    "snapshot_time": "END_TIME"
  },
  "destination" : {
    "bigqueryDestination": {
      "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME"
    }
  },
  "featureSelector": {
    "idMatcher": {
      "ids": ["FEATURE_ID", ...]
    }
  }
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues"

PowerShell

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-12-03T22:55:25.974976Z",
      "updateTime": "2021-12-03T22:55:25.974976Z"
    }
  }
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.

Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.aiplatform.v1.BigQueryDestination;
import com.google.cloud.aiplatform.v1.EntityTypeName;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesRequest;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesRequest.SnapshotExport;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesResponse;
import com.google.cloud.aiplatform.v1.FeatureSelector;
import com.google.cloud.aiplatform.v1.FeatureValueDestination;
import com.google.cloud.aiplatform.v1.FeaturestoreServiceClient;
import com.google.cloud.aiplatform.v1.FeaturestoreServiceSettings;
import com.google.cloud.aiplatform.v1.IdMatcher;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class ExportFeatureValuesSnapshotSample {

  public static void main(String[] args)
      throws IOException, InterruptedException, ExecutionException, TimeoutException {
    // TODO(developer): Replace these variables before running the sample.
    String project = "YOUR_PROJECT_ID";
    String featurestoreId = "YOUR_FEATURESTORE_ID";
    String entityTypeId = "YOUR_ENTITY_TYPE_ID";
    String destinationTableUri = "YOUR_DESTINATION_TABLE_URI";
    List<String> featureSelectorIds = Arrays.asList("title", "genres", "average_rating");
    String location = "us-central1";
    String endpoint = "us-central1-aiplatform.googleapis.com:443";
    int timeout = 300;
    exportFeatureValuesSnapshotSample(
        project,
        featurestoreId,
        entityTypeId,
        destinationTableUri,
        featureSelectorIds,
        location,
        endpoint,
        timeout);
  }

  static void exportFeatureValuesSnapshotSample(
      String project,
      String featurestoreId,
      String entityTypeId,
      String destinationTableUri,
      List<String> featureSelectorIds,
      String location,
      String endpoint,
      int timeout)
      throws IOException, InterruptedException, ExecutionException, TimeoutException {
    FeaturestoreServiceSettings featurestoreServiceSettings =
        FeaturestoreServiceSettings.newBuilder().setEndpoint(endpoint).build();

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (FeaturestoreServiceClient featurestoreServiceClient =
        FeaturestoreServiceClient.create(featurestoreServiceSettings)) {

      FeatureSelector featureSelector =
          FeatureSelector.newBuilder()
              .setIdMatcher(IdMatcher.newBuilder().addAllIds(featureSelectorIds).build())
              .build();

      ExportFeatureValuesRequest exportFeatureValuesRequest =
          ExportFeatureValuesRequest.newBuilder()
              .setEntityType(
                  EntityTypeName.of(project, location, featurestoreId, entityTypeId).toString())
              .setDestination(
                  FeatureValueDestination.newBuilder()
                      .setBigqueryDestination(
                          BigQueryDestination.newBuilder().setOutputUri(destinationTableUri)))
              .setFeatureSelector(featureSelector)
              .setSnapshotExport(SnapshotExport.newBuilder())
              .build();

      OperationFuture<ExportFeatureValuesResponse, ExportFeatureValuesOperationMetadata>
          exportFeatureValuesFuture =
              featurestoreServiceClient.exportFeatureValuesAsync(exportFeatureValuesRequest);
      System.out.format(
          "Operation name: %s%n", exportFeatureValuesFuture.getInitialFuture().get().getName());
      System.out.println("Waiting for operation to finish...");
      ExportFeatureValuesResponse exportFeatureValuesResponse =
          exportFeatureValuesFuture.get(timeout, TimeUnit.SECONDS);
      System.out.println("Snapshot Export Feature Values Response");
      System.out.println(exportFeatureValuesResponse);
      featurestoreServiceClient.close();
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.

Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.\
 * (Not necessary if passing values as arguments)
 */

// const project = 'YOUR_PROJECT_ID';
// const featurestoreId = 'YOUR_FEATURESTORE_ID';
// const entityTypeId = 'YOUR_ENTITY_TYPE_ID';
// const destinationTableUri = 'YOUR_BQ_DESTINATION_TABLE_URI';
// const timestamp = <STARTING_TIMESTAMP_OF_SNAPSHOT_IN_SECONDS>;
// const location = 'YOUR_PROJECT_LOCATION';
// const apiEndpoint = 'YOUR_API_ENDPOINT';
// const timeout = <TIMEOUT_IN_MILLI_SECONDS>;

// Imports the Google Cloud Featurestore Service Client library
const {FeaturestoreServiceClient} = require('@google-cloud/aiplatform').v1;

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: apiEndpoint,
};

// Instantiates a client
const featurestoreServiceClient = new FeaturestoreServiceClient(
  clientOptions
);

async function exportFeatureValuesSnapshot() {
  // Configure the entityType resource
  const entityType = `projects/${project}/locations/${location}/featurestores/${featurestoreId}/entityTypes/${entityTypeId}`;

  const destination = {
    bigqueryDestination: {
      // # Output to BigQuery table created earlier
      outputUri: destinationTableUri,
    },
  };

  const featureSelector = {
    idMatcher: {
      ids: ['age', 'gender', 'liked_genres'],
    },
  };

  const snapshotExport = {
    startTime: {
      seconds: Number(timestamp),
    },
  };

  const request = {
    entityType: entityType,
    destination: destination,
    featureSelector: featureSelector,
    snapshotExport: snapshotExport,
  };

  // Export Feature Values Request
  const [operation] = await featurestoreServiceClient.exportFeatureValues(
    request,
    {timeout: Number(timeout)}
  );
  const [response] = await operation.promise();

  console.log('Export feature values snapshot response');
  console.log('Raw response:');
  console.log(JSON.stringify(response, null, 2));
}
exportFeatureValuesSnapshot();

Idiomas adicionais

Para saber como instalar e usar o SDK Vertex AI para Python, consulte o artigo Use o SDK Vertex AI para Python. Para mais informações, consulte a documentação de referência da API do SDK Vertex AI para Python.

Exportação completa

Exporte todos os valores das funcionalidades num determinado intervalo de tempo.

IU da Web

Use outro método. Não pode exportar valores de funcionalidades da Google Cloud consola.

REST

Para exportar valores de atributos, envie um pedido POST através do método entityTypes.exportFeatureValues.

O exemplo seguinte gera uma tabela do BigQuery, mas também pode gerar para um contentor do Cloud Storage. Cada destino de saída pode ter alguns pré-requisitos antes de poder enviar um pedido. Por exemplo, se especificar um nome de tabela para o campo bigqueryDestination, tem de ter um conjunto de dados existente. Estes requisitos estão documentados na referência da API.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • LOCATION_ID: região onde se encontra o Feature Store. Por exemplo, us-central1.
  • PROJECT_ID: .
  • FEATURESTORE_ID: ID da Feature Store.
  • ENTITY_TYPE_ID: ID do tipo de entidade.
  • START_TIME e END_TIME: (opcional) se especificar apenas a hora de início, devolve todos os valores entre a hora atual (quando o pedido é enviado) e a hora de início (inclusive). Se especificar apenas a hora de fim, são devolvidos todos os valores entre a hora de fim (inclusive) e a data/hora do primeiro valor (para cada funcionalidade). Se especificar uma hora de início e uma hora de fim, devolve todos os valores dentro do intervalo de tempo especificado (inclusive). Se não especificar nenhum dos dois, devolve todos os valores entre a hora atual e a data/hora do primeiro valor (para cada funcionalidade).
  • DATASET_NAME: nome do conjunto de dados do BigQuery de destino.
  • TABLE_NAME: nome da tabela de destino do BigQuery.
  • FEATURE_ID: ID de uma ou mais funcionalidades. Especifique um único * (asterisco) para selecionar todas as funcionalidades.

Método HTTP e URL:

POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues

Corpo JSON do pedido:

{
  "fullExport": {
    "start_time": "START_TIME",
    "end_time": "END_TIME"
  },
  "destination" : {
    "bigqueryDestination": {
      "outputUri": "bq://PROJECT.DATASET_NAME.TABLE_NAME"
    }
  },
  "featureSelector": {
    "idMatcher": {
      "ids": ["FEATURE_ID", ...]
    }
  }
}

Para enviar o seu pedido, escolha uma destas opções:

curl

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues"

PowerShell

Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte 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/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues" | Select-Object -Expand Content

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata",
    "genericMetadata": {
      "createTime": "2021-12-03T22:55:25.974976Z",
      "updateTime": "2021-12-03T22:55:25.974976Z"
    }
  }
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.

Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.api.gax.longrunning.OperationFuture;
import com.google.cloud.aiplatform.v1.BigQueryDestination;
import com.google.cloud.aiplatform.v1.EntityTypeName;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesRequest;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesRequest.FullExport;
import com.google.cloud.aiplatform.v1.ExportFeatureValuesResponse;
import com.google.cloud.aiplatform.v1.FeatureSelector;
import com.google.cloud.aiplatform.v1.FeatureValueDestination;
import com.google.cloud.aiplatform.v1.FeaturestoreServiceClient;
import com.google.cloud.aiplatform.v1.FeaturestoreServiceSettings;
import com.google.cloud.aiplatform.v1.IdMatcher;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;

public class ExportFeatureValuesSample {

  public static void main(String[] args)
      throws IOException, InterruptedException, ExecutionException, TimeoutException {
    // TODO(developer): Replace these variables before running the sample.
    String project = "YOUR_PROJECT_ID";
    String featurestoreId = "YOUR_FEATURESTORE_ID";
    String entityTypeId = "YOUR_ENTITY_TYPE_ID";
    String destinationTableUri = "YOUR_DESTINATION_TABLE_URI";
    List<String> featureSelectorIds = Arrays.asList("title", "genres", "average_rating");
    String location = "us-central1";
    String endpoint = "us-central1-aiplatform.googleapis.com:443";
    int timeout = 300;
    exportFeatureValuesSample(
        project,
        featurestoreId,
        entityTypeId,
        destinationTableUri,
        featureSelectorIds,
        location,
        endpoint,
        timeout);
  }

  static void exportFeatureValuesSample(
      String project,
      String featurestoreId,
      String entityTypeId,
      String destinationTableUri,
      List<String> featureSelectorIds,
      String location,
      String endpoint,
      int timeout)
      throws IOException, InterruptedException, ExecutionException, TimeoutException {
    FeaturestoreServiceSettings featurestoreServiceSettings =
        FeaturestoreServiceSettings.newBuilder().setEndpoint(endpoint).build();

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the "close" method on the client to safely clean up any remaining background resources.
    try (FeaturestoreServiceClient featurestoreServiceClient =
        FeaturestoreServiceClient.create(featurestoreServiceSettings)) {

      FeatureSelector featureSelector =
          FeatureSelector.newBuilder()
              .setIdMatcher(IdMatcher.newBuilder().addAllIds(featureSelectorIds).build())
              .build();

      ExportFeatureValuesRequest exportFeatureValuesRequest =
          ExportFeatureValuesRequest.newBuilder()
              .setEntityType(
                  EntityTypeName.of(project, location, featurestoreId, entityTypeId).toString())
              .setDestination(
                  FeatureValueDestination.newBuilder()
                      .setBigqueryDestination(
                          BigQueryDestination.newBuilder().setOutputUri(destinationTableUri)))
              .setFeatureSelector(featureSelector)
              .setFullExport(FullExport.newBuilder())
              .build();

      OperationFuture<ExportFeatureValuesResponse, ExportFeatureValuesOperationMetadata>
          exportFeatureValuesFuture =
              featurestoreServiceClient.exportFeatureValuesAsync(exportFeatureValuesRequest);
      System.out.format(
          "Operation name: %s%n", exportFeatureValuesFuture.getInitialFuture().get().getName());
      System.out.println("Waiting for operation to finish...");
      ExportFeatureValuesResponse exportFeatureValuesResponse =
          exportFeatureValuesFuture.get(timeout, TimeUnit.SECONDS);
      System.out.println("Export Feature Values Response");
      System.out.println(exportFeatureValuesResponse);
      featurestoreServiceClient.close();
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.

Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.\
 * (Not necessary if passing values as arguments)
 */

// const project = 'YOUR_PROJECT_ID';
// const featurestoreId = 'YOUR_FEATURESTORE_ID';
// const entityTypeId = 'YOUR_ENTITY_TYPE_ID';
// const destinationTableUri = 'YOUR_BQ_DESTINATION_TABLE_URI';
// const location = 'YOUR_PROJECT_LOCATION';
// const apiEndpoint = 'YOUR_API_ENDPOINT';
// const timeout = <TIMEOUT_IN_MILLI_SECONDS>;

// Imports the Google Cloud Featurestore Service Client library
const {FeaturestoreServiceClient} = require('@google-cloud/aiplatform').v1;

// Specifies the location of the api endpoint
const clientOptions = {
  apiEndpoint: apiEndpoint,
};

// Instantiates a client
const featurestoreServiceClient = new FeaturestoreServiceClient(
  clientOptions
);

async function exportFeatureValues() {
  // Configure the entityType resource
  const entityType = `projects/${project}/locations/${location}/featurestores/${featurestoreId}/entityTypes/${entityTypeId}`;

  const destination = {
    bigqueryDestination: {
      // # Output to BigQuery table created earlier
      outputUri: destinationTableUri,
    },
  };

  const featureSelector = {
    idMatcher: {
      ids: ['age', 'gender', 'liked_genres'],
    },
  };

  const request = {
    entityType: entityType,
    destination: destination,
    featureSelector: featureSelector,
    fullExport: {},
  };

  // Export Feature Values Request
  const [operation] = await featurestoreServiceClient.exportFeatureValues(
    request,
    {timeout: Number(timeout)}
  );
  const [response] = await operation.promise();

  console.log('Export feature values response');
  console.log('Raw response:');
  console.log(JSON.stringify(response, null, 2));
}
exportFeatureValues();

Idiomas adicionais

Para saber como instalar e usar o SDK Vertex AI para Python, consulte o artigo Use o SDK Vertex AI para Python. Para mais informações, consulte a documentação de referência da API do SDK Vertex AI para Python.

O que se segue?