Skip to content

Commit fd68d65

Browse files
jyejarecursoragent
authored andcommitted
docs: remove all Great Expectations references from documentation
The legacy Great Expectations integration for data quality monitoring has been fully replaced by Feast's native DQM system (`feast monitor run`). This removes all remaining GE references, deletes the obsolete GE-based tutorial, and updates all docs to reflect the current monitoring approach. Signed-off-by: Jitendra Yejare <11752425+jyejare@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 3f6359d commit fd68d65

13 files changed

Lines changed: 83 additions & 1059 deletions

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,6 @@ The list below contains the functionality that contributors are planning to deve
255255
* [x] [Offline Feature Server (alpha)](https://docs.feast.dev/reference/feature-servers/offline-feature-server)
256256
* [x] [Registry server (alpha)](https://github.com/feast-dev/feast/blob/master/docs/reference/feature-servers/registry-server.md)
257257
* **Data Quality Management (See [RFC](https://docs.google.com/document/d/110F72d4NTv80p35wDSONxhhPBqWRwbZXG4f9mNEMd98/edit))**
258-
* [x] ~~Data profiling and validation (Great Expectations)~~ (deprecated)
259258
* [x] [Feature Quality Monitoring](https://docs.feast.dev/how-to-guides/feature-monitoring) — built-in metrics, drift detection, serving log monitoring, and UI dashboard
260259
* **Feature Discovery and Governance**
261260
* [x] Python SDK for browsing feature registry

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ Feast helps ML platform/MLOps teams with DevOps experience productionize real-ti
7171
* **batch feature engineering**: Feast supports on-demand and streaming transformations. Feast is also investing in supporting batch transformations.
7272
* **native streaming feature integration:** Feast enables users to push streaming features, but does not pull from streaming sources or manage streaming pipelines.
7373
* **lineage:** Feast helps tie feature values to model versions, but is not a complete solution for capturing end-to-end lineage from raw data sources to model versions. Feast also has community contributed plugins with [DataHub](https://datahubproject.io/docs/generated/ingestion/sources/feast/) and [Amundsen](https://github.com/amundsen-io/amundsen/blob/4a9d60176767c4d68d1cad5b093320ea22e26a49/databuilder/databuilder/extractor/feast\_extractor.py).
74-
* **data quality / drift detection**: Feast now includes built-in [Feature Quality Monitoring](how-to-guides/feature-monitoring.md) that computes statistical metrics (null rates, distributions, percentiles), detects drift across batch data and serving logs, and provides a monitoring UI dashboard. The older Great Expectations integration is deprecated.
74+
* **data quality / drift detection**: Feast includes built-in [Feature Quality Monitoring](how-to-guides/feature-monitoring.md) that computes statistical metrics (null rates, distributions, percentiles), detects drift across batch data and serving logs, and provides a monitoring UI dashboard.
7575

7676
## Example use cases
7777

docs/SUMMARY.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
* [Fraud detection on GCP](tutorials/tutorials-overview/fraud-detection.md)
5858
* [Real-time credit scoring on AWS](tutorials/tutorials-overview/real-time-credit-scoring-on-aws.md)
5959
* [Driver stats on Snowflake](tutorials/tutorials-overview/driver-stats-on-snowflake.md)
60-
* [\[Deprecated\] Validating historical features with Great Expectations](tutorials/validating-historical-features.md)
6160
* [Building streaming features](tutorials/building-streaming-features.md)
6261
* [Retrieval Augmented Generation (RAG) with Feast](tutorials/rag-with-docling.md)
6362
* [RAG Fine Tuning with Feast and Milvus](../examples/rag-retriever/README.md)
@@ -206,7 +205,7 @@
206205
* [\[Beta\] On demand feature view](reference/beta-on-demand-feature-view.md)
207206
* [\[Alpha\] Static Artifacts Loading](reference/alpha-static-artifacts.md)
208207
* [\[Alpha\] Vector Database](reference/alpha-vector-database.md)
209-
* [\[Deprecated\] Data quality monitoring (Great Expectations)](reference/dqm.md)
208+
* [Data Quality Monitoring](reference/dqm.md)
210209
* [\[Alpha\] Streaming feature computation with Denormalized](reference/denormalized.md)
211210
* [\[Alpha\] Feature View Versioning](reference/alpha-feature-view-versioning.md)
212211
* [OpenLineage Integration](reference/openlineage.md)

docs/adr/ADR-0011-data-quality-monitoring.md

Lines changed: 23 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Status
44

5-
Accepted
5+
Superseded — The original external-library-based validation has been replaced by Feast's native [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md) system (`feast monitor run`).
66

77
## Context
88

@@ -12,92 +12,51 @@ Data quality issues can significantly impact ML model performance. Several compl
1212
- **Upstream pipeline bugs**: Bugs in upstream pipelines can cause invalid values to overwrite existing valid values in an online store.
1313
- **Training/serving skew**: Distribution shift between training and serving data can decrease model performance.
1414

15-
Feast needed a mechanism to validate data at retrieval time to catch these issues before they affect model training or serving.
15+
Feast needed a mechanism to validate data to catch these issues before they affect model training or serving.
1616

1717
## Decision
1818

19-
Introduce a Data Quality Monitoring (DQM) module that validates datasets against user-curated rules, initially targeting historical retrieval (training dataset generation).
19+
Introduce a Data Quality Monitoring (DQM) module that validates datasets against user-curated rules.
2020

21-
### Design
21+
### Original Design (now replaced)
2222

23-
The validation process uses a **reference dataset** and a **profiler** pattern:
23+
The original validation process used a **reference dataset** and a **profiler** pattern:
2424

2525
1. User prepares a reference dataset (saved from a known-good historical retrieval).
2626
2. User defines a profiler function that produces a profile (set of expectations) from a dataset.
2727
3. Validation is performed by comparing the tested dataset against the reference profile.
2828

29-
### Integration with Great Expectations
29+
This approach was limited to historical retrieval only, required additional dependencies, and offered no built-in UI or automation.
3030

31-
The initial implementation uses [Great Expectations](https://greatexpectations.io/) as the validation engine:
31+
### Current Design
3232

33-
```python
34-
from feast.dqm.profilers.ge_profiler import ge_profiler
35-
from great_expectations.dataset import Dataset
36-
from great_expectations.core.expectation_suite import ExpectationSuite
33+
The current system (`feast monitor run`) provides:
3734

38-
@ge_profiler
39-
def my_profiler(dataset: Dataset) -> ExpectationSuite:
40-
dataset.expect_column_max_to_be_between("column", 1, 2)
41-
dataset.expect_column_values_to_not_be_null("important_feature")
42-
return dataset.get_expectation_suite()
43-
```
44-
45-
### Usage
46-
47-
Validation is triggered during historical feature retrieval via a `validation_reference` parameter:
48-
49-
```python
50-
from feast import FeatureStore
51-
52-
store = FeatureStore(".")
53-
54-
job = store.get_historical_features(...)
55-
df = job.to_df(
56-
validation_reference=store
57-
.get_saved_dataset("my_reference_dataset")
58-
.as_reference(profiler=my_profiler)
59-
)
60-
```
61-
62-
If validation fails, a `ValidationFailed` exception is raised with details for all expectations that didn't pass. If validation succeeds, the materialized dataset is returned normally.
63-
64-
### Key Decisions
35+
- Automatic metric computation (null rates, percentiles, histograms) with no external dependencies
36+
- Monitoring across batch data and serving logs
37+
- CLI and REST API for automation
38+
- Built-in UI monitoring dashboard
39+
- Support for all offline store backends via SQL push-down
6540

66-
- **Profiler-based approach**: Users define their own validation rules via profiler functions rather than Feast prescribing fixed validation rules.
67-
- **Great Expectations integration**: Leverages an established data validation framework rather than building custom validation logic.
68-
- **Validation at retrieval time**: Validation is performed when datasets are materialized (`.to_df()` or `.to_arrow()`), not during ingestion.
69-
- **ValidationReference as a registry object**: Saved datasets and their validation references are stored in the Feast registry for reuse.
41+
See [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md) for full documentation.
7042

7143
## Consequences
7244

7345
### Positive
7446

7547
- Users can detect data quality issues before they affect model training.
76-
- Flexible profiler pattern allows custom validation rules per use case.
77-
- Integration with Great Expectations provides a rich set of built-in expectations.
78-
- Reference datasets provide a baseline for detecting data drift.
48+
- Native integration requires no extra dependencies.
49+
- Covers both batch data and serving logs.
50+
- Built-in UI provides immediate visibility into feature health.
51+
- Baselines computed automatically on `feast apply`.
7952

8053
### Negative
8154

82-
- Currently limited to historical retrieval; online store write/read validation is planned but not yet implemented.
83-
- Dependency on Great Expectations adds to the install footprint (optional via `feast[ge]`).
84-
- Automatic profiling capabilities are limited; manual expectation crafting is recommended.
85-
86-
## Superseded
87-
88-
This ADR documents the original GE-based approach which is now **deprecated**. It has been superseded by Feast's built-in [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md) system (introduced in 2025), which provides:
89-
90-
- Automatic metric computation (null rates, percentiles, histograms) with no external dependencies
91-
- Monitoring across batch data and serving logs
92-
- CLI (`feast monitor run`) and REST API for automation
93-
- Built-in UI monitoring dashboard
94-
- Support for all offline store backends via SQL push-down
95-
96-
The GE-based integration may be removed in a future release.
55+
- Migration required from the original profiler-based approach.
9756

9857
## References
9958

100-
- Original RFC: Feast RFC-027: Data Quality Monitoring
101-
- Implementation: `sdk/python/feast/dqm/`, `sdk/python/feast/saved_dataset.py`
102-
- Documentation: [Data Quality Monitoring (deprecated)](../reference/dqm.md)
103-
- **New system:** [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md)
59+
- Original RFC: Feast RFC-027: Data Quality Monitoring
60+
- Implementation: `sdk/python/feast/monitoring/`
61+
- Documentation: [Data Quality Monitoring](../reference/dqm.md)
62+
- [Feature Quality Monitoring guide](../how-to-guides/feature-monitoring.md)

docs/blog/feast-0-18-adds-snowflake-support-and-data-quality-monitoring.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ We are delighted to announce the release of Feast [0.18](https://github.com/feas
66

77
* Snowflake offline store, which allows you to define and use features stored in Snowflake.
88
* [Experimental] Saved Datasets, which allow training datasets to be persisted in an offline store.
9-
* [Experimental] Data quality monitoring, which allows you to validate your training data with Great Expectations. Future work will allow you to detect issues with upstream data pipelines and check for training-serving skew.
9+
* [Experimental] Data quality monitoring, which allows you to validate your training data. This has since been superseded by Feast's native [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md) system.
1010
* Python feature server graduation from alpha status.
1111
* Performance improvements to on demand feature views, protobuf serialization and deserialization, and the Python feature server.
1212

@@ -22,7 +22,7 @@ Training datasets generated via `get_historical_features` can now be persisted i
2222

2323
### [Experimental] Data quality monitoring
2424

25-
Feast 0.18 includes the first milestone of our data quality monitoring work. Many users have requested ways to validate their training and serving data, as well as monitor for training-serving skew. Feast 0.18 allows users to validate their training data through an integration with [Great Expectations](https://greatexpectations.io/). Users can declare one of the previously generated training datasets as a reference for this validation by persisting it as a "saved dataset" (see previous section). More details about future milestones of data quality monitoring can be found [here](https://docs.feastsite.wpenginepowered.com/v/master/reference/data-quality). There's also a [tutorial on validating historical features](https://docs.feastsite.wpenginepowered.com/v/master/how-to-guides/validation/validating-historical-features) that demonstrates all new concepts in action.
25+
Feast 0.18 includes the first milestone of our data quality monitoring work. Many users have requested ways to validate their training and serving data, as well as monitor for training-serving skew. Feast 0.18 allows users to validate their training data by declaring previously generated training datasets as a reference for validation, persisted as "saved datasets" (see previous section). This initial integration has since been superseded by Feast's native [Feature Quality Monitoring](../how-to-guides/feature-monitoring.md) system, which provides built-in metrics computation, drift detection, serving log monitoring, and a UI dashboard.
2626

2727
### Performance improvements
2828

docs/getting-started/concepts/dataset.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# \[Alpha] Saved dataset
22

3-
Feast datasets allow for conveniently saving dataframes that include both features and entities to be subsequently used for data analysis and model training. Data Quality Monitoring was the original motivation for creating the dataset concept. Note that the Great Expectations-based validation that used saved datasets is now deprecated in favor of Feast's built-in [Feature Quality Monitoring](../../how-to-guides/feature-monitoring.md) system, which does not require saved datasets.
3+
Feast datasets allow for conveniently saving dataframes that include both features and entities to be subsequently used for data analysis and model training. Data Quality Monitoring was the original motivation for creating the dataset concept.
44

55
Dataset's metadata is stored in the Feast registry and raw data (features, entities, additional input keys and timestamp) is stored in the [offline store](../components/offline-store.md).
66

docs/reference/codebase-structure.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The majority of Feast logic lives in these Python files:
2828

2929
There are also several important submodules:
3030
* `infra/` contains all the infrastructure components, such as the provider, offline store, online store, batch materialization engine, and registry.
31-
* `dqm/` covers data quality monitoring. The legacy Great Expectations profiler (`profilers/ge_profiler`) is deprecated; see [`monitoring/`](../../sdk/python/feast/monitoring/) for the current built-in monitoring system.
31+
* `dqm/` covers data quality monitoring. See [`monitoring/`](../../sdk/python/feast/monitoring/) for the built-in monitoring system.
3232
* `diff/` covers the logic for determining how to apply infrastructure changes upon feature repo changes (e.g. the output of `feast plan` and `feast apply`).
3333
* `embedded_go/` covers the Go feature server.
3434
* `ui/` contains the embedded Web UI, to be launched on the `feast ui` command.

0 commit comments

Comments
 (0)