| name | feature-stores |
| version | 2.0.0 |
| sasmp_version | 1.3.0 |
| description | Master feature stores - Feast, data validation, versioning, online/offline serving |
| bonded_agent | 03-data-pipelines |
| bond_type | PRIMARY_BOND |
| category | data_engineering |
| difficulty | intermediate_to_advanced |
| estimated_hours | 35 |
| prerequisites | ["mlops-basics"] |
| validation | {"pre_conditions":["Completed mlops-basics skill","Understanding of data pipelines"],"post_conditions":["Can design feature store architecture","Can implement features with Feast","Can validate data quality"]} |
| observability | {"metrics":["features_created","validation_checks_passed","latency_measurements"]} |
Feature Stores Skill
Learn: Build production feature stores for ML systems.
Skill Overview
| Attribute | Value |
|---|
| Bonded Agent | 03-data-pipelines |
| Difficulty | Intermediate to Advanced |
| Duration | 35 hours |
| Prerequisites | mlops-basics |
Learning Objectives
- Understand feature store architecture
- Implement features with Feast
- Validate data quality with Great Expectations
- Serve features online and offline
- Version datasets with DVC
Topics Covered
Module 1: Feature Store Architecture (8 hours)
Components:
┌─────────────────────────────────────────────────────────────┐
│ FEATURE STORE ARCHITECTURE │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Offline │ │ Feature │ │ Online │ │
│ │ Store │───▶│ Registry │◀───│ Store │ │
│ │ (Parquet) │ │ (Metadata) │ │ (Redis) │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ [Training] [Discovery] [Inference] │
│ │
└─────────────────────────────────────────────────────────────┘
Exercises:
Module 2: Feast Implementation (12 hours)
Feature Definition Example:
from feast import Entity, Feature, FeatureView, FileSource
from feast.types Float32, Int64
datetime timedelta
customer = Entity(
name=,
value_type=ValueType.INT64,
description=
)
customer_features = FeatureView(
name=,
entities=[],
ttl=timedelta(days=),
schema=[
Feature(name=, dtype=Float32),
Feature(name=, dtype=Float32),
Feature(name=, dtype=Int64),
],
online=,
source=customer_stats_source
)