Skip to content

Commit 72de088

Browse files
authored
feat: Added Ray Compute Engine and Ray Offline Store Support (#5526)
* feat: Added ray to requirements Signed-off-by: ntkathole <[email protected]> * feat: Added Ray offline store Signed-off-by: ntkathole <[email protected]> * feat: Improved Ray distributed processing Signed-off-by: ntkathole <[email protected]> * Fixed tests Signed-off-by: ntkathole <[email protected]> * fix: Added utils for validation Signed-off-by: ntkathole <[email protected]> * feat: Use Ray Dataset for data processing Signed-off-by: ntkathole <[email protected]> * feat: Added Ray Compute Engine Signed-off-by: ntkathole <[email protected]> * fix: Fixed logic for source/derived feature views Signed-off-by: ntkathole <[email protected]> * fix: Remove redundant source resolution Signed-off-by: ntkathole <[email protected]> * fix: Handle comments and removed use_ray_cluster config Signed-off-by: ntkathole <[email protected]> --------- Signed-off-by: ntkathole <[email protected]>
1 parent 1c59bba commit 72de088

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+7144
-75
lines changed

Makefile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,29 @@ test-python-universal-postgres-offline: ## Run Python Postgres integration tests
302302
not test_spark" \
303303
sdk/python/tests
304304

305+
test-python-universal-ray-offline: ## Run Python Ray offline store integration tests
306+
PYTHONPATH='.' \
307+
FULL_REPO_CONFIGS_MODULE=sdk.python.feast.infra.offline_stores.contrib.ray_repo_configuration \
308+
PYTEST_PLUGINS=sdk.python.feast.infra.offline_stores.contrib.ray_offline_store.tests \
309+
python -m pytest -n 8 --integration \
310+
-m "not universal_online_stores and not benchmark" \
311+
-k "not test_historical_retrieval_with_validation and \
312+
not test_universal_cli and \
313+
not test_go_feature_server and \
314+
not test_feature_logging and \
315+
not test_logged_features_validation and \
316+
not test_lambda_materialization_consistency and \
317+
not gcs_registry and \
318+
not s3_registry and \
319+
not test_snowflake and \
320+
not test_spark" \
321+
sdk/python/tests
322+
323+
test-python-ray-compute-engine: ## Run Python Ray compute engine tests
324+
PYTHONPATH='.' \
325+
python -m pytest -v --integration \
326+
sdk/python/tests/integration/compute_engines/ray_compute/
327+
305328
test-python-universal-postgres-online: ## Run Python Postgres integration tests
306329
PYTHONPATH='.' \
307330
FULL_REPO_CONFIGS_MODULE=sdk.python.feast.infra.online_stores.postgres_online_store.postgres_repo_configuration \

docs/SUMMARY.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@
107107
* [Trino (contrib)](reference/offline-stores/trino.md)
108108
* [Azure Synapse + Azure SQL (contrib)](reference/offline-stores/mssql.md)
109109
* [Clickhouse (contrib)](reference/offline-stores/clickhouse.md)
110+
* [Ray (contrib)](reference/offline-stores/ray.md)
110111
* [Remote Offline](reference/offline-stores/remote-offline-store.md)
111112
* [Online stores](reference/online-stores/README.md)
112113
* [Overview](reference/online-stores/overview.md)
@@ -143,6 +144,7 @@
143144
* [Snowflake](reference/compute-engine/snowflake.md)
144145
* [AWS Lambda (alpha)](reference/compute-engine/lambda.md)
145146
* [Spark (contrib)](reference/compute-engine/spark.md)
147+
* [Ray (contrib)](reference/compute-engine/ray.md)
146148
* [Feature repository](reference/feature-repository/README.md)
147149
* [feature\_store.yaml](reference/feature-repository/feature-store-yaml.md)
148150
* [.feastignore](reference/feature-repository/feast-ignore.md)

docs/reference/compute-engine/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,14 @@ An example of built output from FeatureBuilder:
5757
- Supports point-in-time joins and large-scale materialization
5858
- Integrates with `SparkOfflineStore` and `SparkMaterializationJob`
5959

60+
### ⚡ RayComputeEngine (contrib)
61+
62+
- Distributed DAG execution via Ray
63+
- Intelligent join strategies (broadcast vs distributed)
64+
- Automatic resource management and optimization
65+
- Integrates with `RayOfflineStore` and `RayMaterializationJob`
66+
- See [Ray Compute Engine documentation](ray.md) for details
67+
6068
### 🧪 LocalComputeEngine
6169

6270
{% page-ref page="local.md" %}

0 commit comments

Comments
 (0)