onlinestore

package
v0.37.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2024 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FeatureData

type FeatureData struct {
	Reference serving.FeatureReferenceV2
	Timestamp timestamp.Timestamp
	Value     types.Value
}

type OnlineStore

type OnlineStore interface {

	// TODO: Can we return [][]FeatureData, []timstamps, error
	// instead and remove timestamp from FeatureData struct to mimic Python's code
	// and reduces repeated memory storage for the same timstamp (which is stored as value and not as a pointer).
	// Should each attribute in FeatureData be stored as a pointer instead since the current
	// design forces value copied in OnlineRead + GetOnlineFeatures
	// (array is destructed so we cannot use the same fields in each
	// Feature object as pointers in GetOnlineFeaturesResponse)
	// => allocate memory for each field once in OnlineRead
	// and reuse them in GetOnlineFeaturesResponse?
	OnlineRead(ctx context.Context, entityKeys []*types.EntityKey, featureViewNames []string, featureNames []string) ([][]FeatureData, error)
	// Destruct must be call once user is done using OnlineStore
	// This is to comply with the Connector since we have to close the plugin
	Destruct()
}

func NewOnlineStore

func NewOnlineStore(config *registry.RepoConfig) (OnlineStore, error)

type RedisOnlineStore

type RedisOnlineStore struct {
	// contains filtered or unexported fields
}

func NewRedisOnlineStore

func NewRedisOnlineStore(project string, config *registry.RepoConfig, onlineStoreConfig map[string]interface{}) (*RedisOnlineStore, error)

func (*RedisOnlineStore) Destruct

func (r *RedisOnlineStore) Destruct()

Dummy destruct function to conform with plugin OnlineStore interface

func (*RedisOnlineStore) OnlineRead

func (r *RedisOnlineStore) OnlineRead(ctx context.Context, entityKeys []*types.EntityKey, featureViewNames []string, featureNames []string) ([][]FeatureData, error)

type SqliteOnlineStore

type SqliteOnlineStore struct {
	// contains filtered or unexported fields
}

func NewSqliteOnlineStore

func NewSqliteOnlineStore(project string, repoConfig *registry.RepoConfig, onlineStoreConfig map[string]interface{}) (*SqliteOnlineStore, error)

Creates a new sqlite online store object. onlineStoreConfig should have relative path of database file with respect to repoConfig.repoPath.

func (*SqliteOnlineStore) Destruct

func (s *SqliteOnlineStore) Destruct()

func (*SqliteOnlineStore) OnlineRead

func (s *SqliteOnlineStore) OnlineRead(ctx context.Context, entityKeys []*types.EntityKey, featureViewNames []string, featureNames []string) ([][]FeatureData, error)

Returns FeatureData 2D array. Each row corresponds to one entity Value and each column corresponds to a single feature where the number of columns should be same length as the length of featureNames. Reads from every table in featureViewNames with the entity keys described.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL