Services

ServingService

rpc GetFeastServingInfo(GetFeastServingInfoRequest) returns (GetFeastServingInfoResponse)

Get information about this Feast serving.

rpc GetOnlineFeatures(GetOnlineFeaturesRequest) returns (GetOnlineFeaturesResponse)

Get online features synchronously.

rpc GetBatchFeatures(GetBatchFeaturesRequest) returns (GetBatchFeaturesResponse)

Get batch features asynchronously.

The client should check the status of the returned job periodically by calling ReloadJob to determine if the job has completed successfully or with an error. If the job completes successfully i.e. status = JOBSTATUSDONE with no error, then the client can check the file_uris for the location to download feature values data. The client is assumed to have access to these file URIs.

rpc GetJob(GetJobRequest) returns (GetJobResponse)

Get the latest job status for batch feature retrieval.

Types

GetFeastServingInfoRequest

GetFeastServingInfoResponse

Field Type Description Required
version string

Feast version of this serving deployment.

No
type FeastServingType

Type of serving deployment, either ONLINE or BATCH. Different store types support different feature retrieval methods.

No
jobStagingLocation string

Note: Batch specific options start from 10. Staging location for this serving store, if any.

No

FeatureReference

Field Type Description Required
project string

Project name. This field is optional, if unspecified will default to ‘default’.

No
name string

Feature name

No
featureSet string

Feature set name specifying the feature set of this referenced feature. This field is optional if the feature referenced is unique across the project in which case the feature set would be automatically infered

No

GetOnlineFeaturesRequest

Field Type Description Required
features FeatureReference[]

List of features that are being retrieved

No
entityRows EntityRow[]

List of entity rows, containing entity id and timestamp data. Used during retrieval of feature rows and for joining feature rows into a final dataset

No
omitEntitiesInResponse bool

Option to omit entities from the response. If true, only feature values will be returned.

No
project string

Optional field to specify project name override. If specified, uses the given project for retrieval. Overrides the projects specified in Feature References if both are specified.

No

GetBatchFeaturesRequest

Field Type Description Required
features FeatureReference[]

List of features that are being retrieved

No
datasetSource DatasetSource

Source of the entity dataset containing the timestamps and entity keys to retrieve features for.

No
computeStatistics bool

Compute statistics for the dataset retrieved

No

GetOnlineFeaturesResponse

Field Type Description Required
fieldValues FieldValues[]

Feature values retrieved from feast.

No

GetBatchFeaturesResponse

Field Type Description Required
job Job No

GetJobRequest

Field Type Description Required
job Job No

GetJobResponse

Field Type Description Required
job Job No

Job

Field Type Description Required
id string No
type JobType

Output only. The type of the job.

No
status JobStatus

Output only. Current state of the job.

No
error string

Output only. If not empty, the job has failed with this error message.

No
fileUris string[]

Output only. The list of URIs for the files to be downloaded or uploaded (depends on the job type) for this particular job.

No
dataFormat DataFormat

Output only. The data format for all the files. For CSV format, the files contain both feature values and a column header.

No
datasetFeatureStatisticsList DatasetFeatureStatisticsList

Output only. The statistics computed over the retrieved dataset. Only available for BigQuery stores.

No

DatasetSource

Field Type Description Required
fileSource FileSource (oneof)

File source to load the dataset from.

No

GetOnlineFeaturesRequest.EntityRow

Field Type Description Required
entityTimestamp Timestamp

Request timestamp of this row. This value will be used, together with maxAge, to determine feature staleness.

No
fields map<string, Value>

Map containing mapping of entity name to entity value.

No

GetOnlineFeaturesResponse.FieldValues

Field Type Description Required
fields map<string, Value>

Map of feature or entity name to feature/entity values. Timestamps are not returned in this response.

No
statuses map<string, FieldStatus>

Map of feature or entity name to feature/entity statuses/metadata.

No

DatasetSource.FileSource

Field Type Description Required
fileUris string[]

URIs to retrieve the dataset from, e.g. gs://bucket/directory/object.csv. Wildcards are supported. This data must be compatible to be uploaded to the serving store, and also be accessible by this serving instance.

No
dataFormat DataFormat

Format of the data. Currently only avro is supported.

No

tensorflow.metadata.v0.DatasetFeatureStatisticsList

A list of features statistics for different datasets. If you wish to compare different datasets using this list, then the DatasetFeatureStatistics entries should all contain the same list of features.

Field Type Description Required
datasets DatasetFeatureStatistics[] No

feast.types.Value

Field Type Description Required
bytesVal bytes (oneof) No
stringVal string (oneof) No
int32Val int32 (oneof) No
int64Val int64 (oneof) No
doubleVal double (oneof) No
floatVal float (oneof) No
boolVal bool (oneof) No
bytesListVal BytesList (oneof) No
stringListVal StringList (oneof) No
int32ListVal Int32List (oneof) No
int64ListVal Int64List (oneof) No
doubleListVal DoubleList (oneof) No
floatListVal FloatList (oneof) No
boolListVal BoolList (oneof) No

GetOnlineFeaturesResponse.FieldStatus

Name Description
INVALID

Status is unset for this field.

PRESENT

Field value is present for this field and age is within max age.

NULL_VALUE

Values could be found for entity key and age is within max age, but this field value is assigned a value on ingestion into feast.

NOT_FOUND

Entity key did not return any values as they do not exist in Feast. This could suggest that the feature values have not yet been ingested into feast or the ingestion failed.

OUTSIDE_MAX_AGE

Values could be found for entity key, but field values are outside the maximum allowable range.

FeastServingType

Name Description
FEAST_SERVING_TYPE_INVALID
FEAST_SERVING_TYPE_ONLINE

Online serving receives entity data directly and synchronously and will respond immediately.

FEAST_SERVING_TYPE_BATCH

Batch serving receives entity data asynchronously and orchestrates the retrieval through a staging location.

JobType

Name Description
JOB_TYPE_INVALID
JOB_TYPE_DOWNLOAD

JobStatus

Name Description
JOB_STATUS_INVALID
JOB_STATUS_PENDING
JOB_STATUS_RUNNING
JOB_STATUS_DONE

DataFormat

Name Description
DATA_FORMAT_INVALID
DATA_FORMAT_AVRO

FeastServingType

Name Description
FEAST_SERVING_TYPE_INVALID
FEAST_SERVING_TYPE_ONLINE

Online serving receives entity data directly and synchronously and will respond immediately.

FEAST_SERVING_TYPE_BATCH

Batch serving receives entity data asynchronously and orchestrates the retrieval through a staging location.

JobType

Name Description
JOB_TYPE_INVALID
JOB_TYPE_DOWNLOAD

JobStatus

Name Description
JOB_STATUS_INVALID
JOB_STATUS_PENDING
JOB_STATUS_RUNNING
JOB_STATUS_DONE

DataFormat

Name Description
DATA_FORMAT_INVALID
DATA_FORMAT_AVRO

JobType

Name Description
JOB_TYPE_INVALID
JOB_TYPE_DOWNLOAD

JobStatus

Name Description
JOB_STATUS_INVALID
JOB_STATUS_PENDING
JOB_STATUS_RUNNING
JOB_STATUS_DONE

DataFormat

Name Description
DATA_FORMAT_INVALID
DATA_FORMAT_AVRO

GetOnlineFeaturesResponse.FieldStatus

Name Description
INVALID

Status is unset for this field.

PRESENT

Field value is present for this field and age is within max age.

NULL_VALUE

Values could be found for entity key and age is within max age, but this field value is assigned a value on ingestion into feast.

NOT_FOUND

Entity key did not return any values as they do not exist in Feast. This could suggest that the feature values have not yet been ingested into feast or the ingestion failed.

OUTSIDE_MAX_AGE

Values could be found for entity key, but field values are outside the maximum allowable range.

DataFormat

Name Description
DATA_FORMAT_INVALID
DATA_FORMAT_AVRO