Stay organized with collections
Save and categorize content based on your preferences.
For batch import, Vertex AI Feature Store (Legacy) can import data from tables in
BigQuery or files in Cloud Storage.
Use BigQuery table if you need to import the entire dataset and don't require partition filters.
Use BigQuery view if you need to import a specific subset of the dataset. This option is more time-efficient and lets you import specific selections from the entire dataset, including multiple tables generated from the data.
Data contained in files imported from Cloud Storage must be in AVRO or CSV format.
For streaming import, you provide the feature values to import in the API request.
These source data requirements don't apply. For more information, see the writeFeatureValues API
reference.
Each item (or row) must adhere to the following requirements:
You must have a column for entity IDs, and the values must be of type
STRING. This column contains the entity IDs that the feature values are
for.
Your source data value types must match the value types of the destination
feature in the featurestore. For example, boolean values must be import into
a feature that is of type BOOL.
All columns must have a header that are of type STRING. There are no
restrictions on the name of the headers.
For BigQuery tables and BigQuery views, the column header is the column name.
For AVRO, the column header is defined by the AVRO schema that is associated
with the binary data.
For CSV files, the column header is the first row.
If you provide a column for feature generation timestamps, use one of the
following timestamp formats:
For BigQuery tables and BigQuery views, timestamps must be in the TIMESTAMP column.
For Avro, timestamps must be of type long and logical type timestamp-micros.
For CSV files, timestamps must be in the RFC 3339 format.
CSV files cannot include array data types. Use Avro or BigQuery
instead.
For array types, you cannot include a null value in the array. Though, you can
include an empty array.
Feature value timestamps
For batch import, Vertex AI Feature Store (Legacy) requires user-provided
timestamps for the imported feature values. You can specify a particular
timestamp for each value or specify the same timestamp for all values:
If the timestamps for feature values are different, specify the timestamps in
a column in your source data. Each row must have its own timestamp indicating
when the feature value was generated. In your import request, you specify
the column name to identify the timestamp column.
If the timestamp for all feature values is the same, you can specify it as a
parameter in your import request. You can also specify the timestamp in a
column in your source data, where each row has the same timestamp.
Data source region
If your source data is in either BigQuery or Cloud Storage, the
source dataset or bucket must be in the same region or in the same
multi-regional location as your featurestore. For example, a featurestore in
us-central1 can import data only from Cloud Storage buckets or
BigQuery datasets that are in us-central1 or in the US multi-region
location. You can't import data from, for example, us-east1. Also, source
data from dual-region buckets is not supported.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[],[],null,["# Source data requirements\n\nFor batch import, Vertex AI Feature Store (Legacy) can import data from tables in\nBigQuery or files in Cloud Storage.\n\n- Use BigQuery table if you need to import the entire dataset and don't require partition filters.\n\n- Use BigQuery view if you need to import a specific subset of the dataset. This option is more time-efficient and lets you import specific selections from the entire dataset, including multiple tables generated from the data.\n\n- Data contained in files imported from Cloud Storage must be in AVRO or CSV format.\n\nFor streaming import, you provide the feature values to import in the API request.\nThese source data requirements don't apply. For more information, see the [writeFeatureValues API\nreference](/vertex-ai/docs/reference/rest/v1beta1/projects.locations.featurestores.entityTypes/writeFeatureValues).\n\nEach item (or row) must adhere to the following requirements:\n\n- You must have a column for entity IDs, and the values must be of type\n `STRING`. This column contains the entity IDs that the feature values are\n for.\n\n- Your source data value types must match the value types of the destination\n feature in the featurestore. For example, boolean values must be import into\n a feature that is of type `BOOL`.\n\n- All columns must have a header that are of type `STRING`. There are no\n restrictions on the name of the headers.\n\n - For BigQuery tables and BigQuery views, the column header is the column name.\n - For AVRO, the column header is defined by the AVRO schema that is associated with the binary data.\n - For CSV files, the column header is the first row.\n- If you provide a column for feature generation timestamps, use one of the\n following timestamp formats:\n\n - For BigQuery tables and BigQuery views, timestamps must be in the TIMESTAMP column.\n - For Avro, timestamps must be of type long and logical type timestamp-micros.\n - For CSV files, timestamps must be in the RFC 3339 format.\n- CSV files cannot include array data types. Use Avro or BigQuery\n instead.\n\n- For array types, you cannot include a null value in the array. Though, you can\n include an empty array.\n\nFeature value timestamps\n------------------------\n\nFor batch import, Vertex AI Feature Store (Legacy) requires user-provided\ntimestamps for the imported feature values. You can specify a particular\ntimestamp for each value or specify the same timestamp for all values:\n\n- If the timestamps for feature values are different, specify the timestamps in a column in your source data. Each row must have its own timestamp indicating when the feature value was generated. In your import request, you specify the column name to identify the timestamp column.\n- If the timestamp for all feature values is the same, you can specify it as a parameter in your import request. You can also specify the timestamp in a column in your source data, where each row has the same timestamp.\n\nData source region\n------------------\n\nIf your source data is in either BigQuery or Cloud Storage, the\nsource dataset or bucket must be in the same region or in the same\nmulti-regional location as your featurestore. For example, a featurestore in\n`us-central1` can import data only from Cloud Storage buckets or\nBigQuery datasets that are in `us-central1` or in the US multi-region\nlocation. You can't import data from, for example, `us-east1`. Also, source\ndata from dual-region buckets is not supported.\n\nWhat's next\n-----------\n\n- Learn about [setting up your project](/vertex-ai/docs/featurestore/setup) to use Vertex AI Feature Store (Legacy).\n- Learn how to [batch import feature values](/vertex-ai/docs/featurestore/ingesting-batch)."]]