Online feature store (Experimental)#
Data Science Feature Store is designed to optimize the delivery of features at low latency by employing online stores. These features’ values are retrieved from various data sources and seamlessly integrated into the online store through a process called materialization. This process can be initiated using the materialise function available within the ADS Feature Store framework.
The constraints attached to the online feature store is completely tangent from the constraints attached to the offline feature store. Offline feature store constitutes of storage as columnar database whereas online feature store constitutes of storage as row-wise database, offline store constitutes of access patterns involving joins whereas online feature store constitutes of key-value lookups, offline feature store does not have latency specific requirements for data access whereas online feature store constitutes very specific latency specific requirements for feature store.
Feature skew occurs when substantial variations arise between the feature processes carried out in an offline machine learning pipeline (the feature or training pipeline) and those in the related online inference pipeline. To ensure flexibility and customization options, the ADS Feature Store leverages two primary data sources: Redis and OpenSearch. Both sources are configurable, enabling users to fine-tune settings and configurations according to specific preferences and operational requirements.
Get nearest neighbours#
You can call the get_nearest_neighbours() -> NearestNeighbour method of the FeatureGroup or Dataset instance to find the nearest neighbours for a feature field
- The
.get_nearest_neighbours()method takes the following parameter: field: Indicates which fields to fetch.k_neighbors: Number of neighbours to fetchembedding_vector: Embedding vector. Usually a dense vectormax_candidate_pool: Indicates the maximum candidate pool size
See also
Materialise for feature group materialisation
See also
Materialise for dataset materialisation
Get serving vector#
You can call the get_serving_vector() method of the FeatureGroup or Dataset instance to find the serving vector
- The
.get_serving_vector()method takes the following parameter: primary_key_vector: Primary key vector for feature group
See also
Materialise for feature group materialisation
See also
Materialise for dataset materialisation
Online feature store datatypes#
The following tables illustrate the mapping of data types to OpenSearch.
Feature Store Type |
Spark Type |
Open Search Datatype |
|---|---|---|
STRING |
ByteType |
byte |
SHORT |
ShortType |
short |
INTEGER |
IntegerType |
int |
LONG |
LongType |
long |
FLOAT |
FloatType |
float |
DOUBLE |
DoubleType |
double |
STRING |
StringType |
string |
BINARY |
BinaryType (BASE64) |
string |
BOOLEAN |
BooleanType |
boolean |
DATE |
DateType (string format) |
date |
TIMESTAMP |
TimestampType |
long (unix time) |
{TYPE}_ARRAY |
ArrayType |
array{TYPE} |
{TYPE}_MAP |
MapType |
object |
STRUCT |
StructType |
object |