You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/how-to-guides/adding-a-new-offline-store.md
+33-22Lines changed: 33 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,19 +63,15 @@ To fully implement the interface for the offline store, you will need to impleme
63
63
entity_df: Union[pd.DataFrame, str],
64
64
registry: Registry, project: str,
65
65
full_feature_names: bool=False) -> RetrievalJob:
66
-
print("Getting historical features from my offline store")
66
+
""" Perform point-in-time correct join of features onto an entity dataframe(entity key and timestamp). More details about how this should work at https://docs.feast.dev/v/v0.6-branch/user-guide/feature-retrieval#3.-historical-feature-retrieval.
67
+
print("Getting historical features from my offline store")."""
67
68
warnings.warn(
68
69
"This offline store is an experimental feature in alpha development. "
69
70
"Some functionality may still be unstable so functionality can change in the future.",
70
71
RuntimeWarning,
71
72
)
72
-
returnsuper().get_historical_features(config,
73
-
feature_views,
74
-
feature_refs,
75
-
entity_df,
76
-
registry,
77
-
project,
78
-
full_feature_names)
73
+
# Implementation here.
74
+
pass
79
75
80
76
defpull_latest_from_table_or_query(self,
81
77
config: RepoConfig,
@@ -86,20 +82,15 @@ To fully implement the interface for the offline store, you will need to impleme
86
82
created_timestamp_column: Optional[str],
87
83
start_date: datetime,
88
84
end_date: datetime) -> RetrievalJob:
85
+
""" Pulls data from the offline store for use in materialization."""
89
86
print("Pulling latest features from my offline store")
90
87
warnings.warn(
91
88
"This offline store is an experimental feature in alpha development. "
92
89
"Some functionality may still be unstable so functionality can change in the future.",
""" Optional method that returns a Retrieval Job for all join key columns, feature name columns, and the event timestamp columns that occur between the start_date and end_date."""
105
+
warnings.warn(
106
+
"This offline store is an experimental feature in alpha development. "
107
+
"Some functionality may still be unstable so functionality can change in the future.",
108
+
RuntimeWarning,
109
+
)
110
+
# Implementation here.
111
+
pass
115
112
116
113
defwrite_logged_features(
117
114
config: RepoConfig,
@@ -120,7 +117,13 @@ To fully implement the interface for the offline store, you will need to impleme
120
117
logging_config: LoggingConfig,
121
118
registry: BaseRegistry,
122
119
):
123
-
""" Optional function to have Feast support logging your online features. """
120
+
""" Optional method to have Feast support logging your online features."""
121
+
warnings.warn(
122
+
"This offline store is an experimental feature in alpha development. "
123
+
"Some functionality may still be unstable so functionality can change in the future.",
124
+
RuntimeWarning,
125
+
)
126
+
# Implementation here.
124
127
pass
125
128
126
129
defoffline_write_batch(
@@ -129,7 +132,13 @@ To fully implement the interface for the offline store, you will need to impleme
129
132
table: pyarrow.Table,
130
133
progress: Optional[Callable[[int], Any]],
131
134
):
132
-
""" Optional function to have Feast support the offline push api for your offline store. """
135
+
""" Optional method to have Feast support the offline push api for your offline store."""
136
+
warnings.warn(
137
+
"This offline store is an experimental feature in alpha development. "
138
+
"Some functionality may still be unstable so functionality can change in the future.",
139
+
RuntimeWarning,
140
+
)
141
+
# Implementation here.
133
142
pass
134
143
135
144
```
@@ -359,8 +368,8 @@ Even if you have created the `OfflineStore` class in a separate repo, you can st
359
368
```
360
369
361
370
3. Next, set up your offline store to run the universal integration tests. These are integration tests specifically intended to test offline and online stores against Feast API functionality, to ensure that the Feast APIs works with your offline store.
362
-
- To run the integration tests, you must parametrize the integration test suite based on the `FULL_REPO_CONFIGS` variable defined in `sdk/python/tests/integration/feature_repos/repo_configuration.py` to use your own custom offline store.
363
-
- To overwrite the default configurations, you can simply create your own file that contains a `FULL_REPO_CONFIGS` dictionary, and point Feast to that file by setting the environment variable `FULL_REPO_CONFIGS_MODULE` to point to that file. The module should add new `IntegrationTestRepoConfig` classes to the `AVAILABLE_OFFLINE_STORES` by defining an offline and online store.
371
+
- Feast parametrizes integration tests using the `FULL_REPO_CONFIGS` variable defined in `sdk/python/tests/integration/feature_repos/repo_configuration.py` which stores different offline store classes for testing.
372
+
- To overwrite the default configurations to use your own offline store, you can simply create your own file that contains a `FULL_REPO_CONFIGS` dictionary, and point Feast to that file by setting the environment variable `FULL_REPO_CONFIGS_MODULE` to point to that file. The module should add new `IntegrationTestRepoConfig` classes to the `AVAILABLE_OFFLINE_STORES` by defining an offline store that you would like Feast to test with.
364
373
365
374
A sample `FULL_REPO_CONFIGS_MODULE` looks something like this:
366
375
@@ -369,6 +378,8 @@ Even if you have created the `OfflineStore` class in a separate repo, you can st
369
378
from feast.infra.offline_stores.contrib.postgres_offline_store.tests.data_source import (
Copy file name to clipboardExpand all lines: docs/how-to-guides/adding-support-for-a-new-online-store.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -316,7 +316,7 @@ Even if you have created the `OnlineStore` class in a separate repo, you can sti
316
316
317
317
318
318
2. The universal tests, which are integration tests specifically intended to test offline and online stores, should be run against Feast to ensure that the Feast APIs works with your online store.
319
-
- To run the integration tests, you must parametrize the integration test suite based on the `FULL_REPO_CONFIGS` variable defined in `sdk/python/tests/integration/feature_repos/repo_configuration.py` to use your own custom online store.
319
+
- Feast parametrizes integration tests using the `FULL_REPO_CONFIGS` variable defined in `sdk/python/tests/integration/feature_repos/repo_configuration.py` which stores different online store classes for testing.
320
320
- To overwrite these configurations, you can simply create your own file that contains a `FULL_REPO_CONFIGS` variable, and point Feast to that file by setting the environment variable `FULL_REPO_CONFIGS_MODULE` to point to that file.
321
321
322
322
A sample `FULL_REPO_CONFIGS_MODULE` looks something like this:
0 commit comments