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/getting-started/concepts/feature-retrieval.md
+51
Original file line number
Diff line number
Diff line change
@@ -8,8 +8,59 @@ A dataset is a collection of rows that is produced by a historical retrieval fro
8
8
9
9
**Dataset vs Data Source:** Datasets are the output of historical retrieval, whereas data sources are the inputs. One or more data sources can be used in the creation of a dataset.
10
10
11
+
## Feature Services
12
+
A feature service is an object that represents a logical group of features from one or more [feature views](feature-view.md#feature-view). Feature Services allows features from within a feature view to be used as needed by an ML model. Users can expect to create one feature service per model version, allowing for tracking of the features used by models.
13
+
14
+
{% tabs %}
15
+
{% tab title="driver_trips_feature_service.py" %}
16
+
```python
17
+
from driver_ratings_feature_view import driver_ratings_fv
18
+
from driver_trips_feature_view import driver_stats_fv
* The generation of training datasets when querying feature views in order to find historical feature values. A single training dataset may consist of features from multiple feature views.
31
+
* Retrieval of features for batch scoring from the offline store (e.g. with an entity dataframe where all timestamps are `now()`)
32
+
* Retrieval of features from the online store for online inference (with smaller batch sizes). The features retrieved from the online store may also belong to multiple feature views.
33
+
34
+
{% hint style="info" %}
35
+
Applying a feature service does not result in an actual service being deployed.
36
+
{% endhint %}
37
+
38
+
Feature services enable referencing all or some features from a feature view.
39
+
40
+
Retrieving from the online store with a feature service
41
+
```python
42
+
from feast import FeatureStore
43
+
feature_store = FeatureStore('.') # Initialize the feature store
This mechanism of retrieving features is only recommended as you're experimenting. Once you want to launch experiments or serve models, feature services are recommended.
63
+
13
64
Feature references uniquely identify feature values in Feast. The structure of a feature reference in string form is as follows: `<feature_view>:<feature>`
14
65
15
66
Feature references are used for the retrieval of features from Feast:
Copy file name to clipboardexpand all lines: docs/getting-started/faq.md
+34-11
Original file line number
Diff line number
Diff line change
@@ -14,14 +14,15 @@ The [quickstart](quickstart.md) is the easiest way to learn about Feast. For mor
14
14
15
15
## Concepts
16
16
17
-
### What is the difference between feature tables and feature views?
18
-
19
-
Feature tables from Feast 0.9 have been renamed to feature views in Feast 0.10+. For more details, please see the discussion [here](https://github.com/feast-dev/feast/issues/1583).
20
-
21
17
### Do feature views have to include entities?
22
18
23
19
No, there are [feature views without entities](concepts/feature-view.md#feature-views-without-entities).
24
20
21
+
### How does Feast handle model or feature versioning?
22
+
Feast expects that each version of a model corresponds to a different feature service.
23
+
24
+
Feature views once they are used by a feature service are intended to be immutable and not deleted (until a feature service is removed). In the future, `feast plan` and `feast apply will throw errors if it sees this kind of behavior.
25
+
25
26
### What is the difference between data sources and the offline store?
26
27
27
28
The data source itself defines the underlying data warehouse table in which the features are stored. The offline store interface defines the APIs required to make an arbitrary compute layer work for Feast (e.g. pulling features given a set of feature views from their sources, exporting the data set results to different formats). Please see [data sources](concepts/data-source.md) and [offline store](architecture-and-components/offline-store.md) for more details.
@@ -32,13 +33,31 @@ Yes, this is possible. For example, you can use BigQuery as an offline store and
32
33
33
34
## Functionality
34
35
36
+
### How do I run `get_historical_features` without providing an entity dataframe?
37
+
Feast does not provide a way to do this right now. This is an area we're actively interested in contributions for. See [GitHub issue](https://github.com/feast-dev/feast/issues/1611)
38
+
35
39
### Does Feast provide security or access control?
36
40
37
41
Feast currently does not support any access control other than the access control required for the Provider's environment (for example, GCP and AWS permissions).
38
42
43
+
It is a good idea though to lock down the registry file so only the CI/CD pipeline can modify it. That way data scientists and other users cannot accidentally modify the registry and lose other team's data.
44
+
39
45
### Does Feast support streaming sources?
40
46
41
-
Yes. In earlier versions of Feast, we used Feast Spark to manage ingestion from stream sources. In the current version of Feast, we support [push based ingestion](../reference/data-sources/push.md).
47
+
Yes. In earlier versions of Feast, we used Feast Spark to manage ingestion from stream sources. In the current version of Feast, we support [push based ingestion](../reference/data-sources/push.md). Streaming transformations are actively being worked on.
48
+
49
+
### Does Feast support feature transformation?
50
+
51
+
There are several kinds of transformations:
52
+
- On demand transformations (See [docs](../reference/alpha-on-demand-feature-view.md))
53
+
- These transformations are Pandas transformations run on batch data when you call `get_historical_features` and at online serving time when you call `get_online_features.
54
+
- Note that if you use push sources to ingest streaming features, these transformations will execute on the fly as well
55
+
- Batch transformations (WIP, see [RFC](https://docs.google.com/document/d/1964OkzuBljifDvkV-0fakp2uaijnVzdwWNGdz7Vz50A/edit#))
56
+
- These will include SQL + PySpark based transformations on batch data sources.
57
+
- Streaming transformations (RFC in progress)
58
+
59
+
### Does Feast have a Web UI?
60
+
Yes. See [documentation](../reference/alpha-web-ui.md).
42
61
43
62
### Does Feast support composite keys?
44
63
@@ -50,7 +69,7 @@ Please see a detailed comparison of Feast vs. Tecton [here](https://www.tecton.a
50
69
51
70
### What are the performance/latency characteristics of Feast?
52
71
53
-
Feast is designed to work at scale and support low latency online serving. Benchmarks ([RFC](https://docs.google.com/document/d/12UuvTQnTTCJhdRgy6h10zSbInNGSyEJkIxpOcgOen1I/edit)) will be released soon, and active work is underway to support very latency sensitive use cases.
72
+
Feast is designed to work at scale and support low latency online serving. See our [benchmark blog post](https://feast.dev/blog/feast-benchmarks/) for details.
54
73
55
74
### Does Feast support embeddings and list features?
56
75
@@ -77,7 +96,7 @@ Please follow the instructions [here](../how-to-guides/adding-support-for-a-new-
77
96
78
97
### Can the same storage engine be used for both the offline and online store?
79
98
80
-
Yes. For example, the Postgres [connector](https://github.com/nossrannug/feast-postgres) can be used as both an offline and online store.
99
+
Yes. For example, the Postgres connector can be used as both an offline and online store (as well as the registry).
81
100
82
101
### Does Feast support S3 as a data source?
83
102
@@ -88,14 +107,21 @@ Yes. There are two ways to use S3 in Feast:
88
107
89
108
### How can I use Spark with Feast?
90
109
91
-
Feast does not support Spark natively. However, you can create a [custom provider](../how-to-guides/creating-a-custom-provider.md) that will support Spark, which can help with more scalable materialization and ingestion.
110
+
Feast supports ingestion via Spark (See ) does not support Spark natively. However, you can create a [custom provider](../how-to-guides/creating-a-custom-provider.md) that will support Spark, which can help with more scalable materialization and ingestion.
92
111
93
112
### Is Feast planning on supporting X functionality?
94
113
95
114
Please see the [roadmap](../roadmap.md).
96
115
97
116
## Project
98
117
118
+
### How do I contribute to Feast?
119
+
120
+
For more details on contributing to the Feast community, see [here](../community.md) and this [here](../project/contributing.md).
121
+
122
+
123
+
## Feast 0.9 (legacy)
124
+
99
125
### What is the difference between Feast 0.9 and Feast 0.10+?
100
126
101
127
Feast 0.10+ is much lighter weight and more extensible than Feast 0.9. It is designed to be simple to install and use. Please see this [document](https://docs.google.com/document/d/1AOsr\_baczuARjCpmZgVd8mCqTF4AZ49OEyU4Cn-uTT0) for more details.
@@ -104,9 +130,6 @@ Feast 0.10+ is much lighter weight and more extensible than Feast 0.9. It is des
104
130
105
131
Please see this [document](https://docs.google.com/document/d/1AOsr\_baczuARjCpmZgVd8mCqTF4AZ49OEyU4Cn-uTT0). If you have any questions or suggestions, feel free to leave a comment on the document!
106
132
107
-
### How do I contribute to Feast?
108
-
109
-
For more details on contributing to the Feast community, see [here](../community.md) and this [here](../project/contributing.md).
110
133
111
134
### What are the plans for Feast Core, Feast Serving, and Feast Spark?
Copy file name to clipboardexpand all lines: docs/getting-started/quickstart.md
+8-1
Original file line number
Diff line number
Diff line change
@@ -365,7 +365,7 @@ pprint(feature_vector)
365
365
{% endtab %}
366
366
{% endtabs %}
367
367
368
-
## Step 7: Using a featureservice to fetch online features instead.
368
+
## Step 7: Using a feature service to fetch online features instead.
369
369
370
370
You can also use feature services to manage multiple features, and decouple feature view definitions and the features needed by end applications. The feature store can also be used to fetch either online or historical features using the same api below. More information can be found [here](https://docs.feast.dev/getting-started/concepts/feature-service).
371
371
@@ -399,6 +399,13 @@ features = feature_store.get_online_features(
399
399
{% endtab %}
400
400
{% endtabs %}
401
401
402
+
## Step 8: Browse your features with the Web UI (experimental)
403
+
404
+
View all registered features, data sources, entities, and feature services with the Web UI.
405
+
406
+
One of the ways to view this is with the `feast ui` command.
0 commit comments