forked from feast-dev/feast
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfeature_views.py
41 lines (34 loc) · 1.17 KB
/
feature_views.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
from datetime import timedelta
from feast import Feature, FeatureView, ValueType
from feast.data_source import DataSource
def driver_feature_view(
data_source: DataSource, name="test_correctness"
) -> FeatureView:
return FeatureView(
name=name,
entities=["driver"],
features=[Feature("value", ValueType.FLOAT)],
ttl=timedelta(days=5),
input=data_source,
)
def create_driver_hourly_stats_feature_view(source):
driver_stats_feature_view = FeatureView(
name="driver_stats",
entities=["driver"],
batch_source=source,
ttl=timedelta(hours=2),
)
return driver_stats_feature_view
def create_customer_daily_profile_feature_view(source):
customer_profile_feature_view = FeatureView(
name="customer_profile",
entities=["customer_id"],
features=[
Feature(name="current_balance", dtype=ValueType.FLOAT),
Feature(name="avg_passenger_count", dtype=ValueType.FLOAT),
Feature(name="lifetime_trip_count", dtype=ValueType.INT32),
],
batch_source=source,
ttl=timedelta(days=2),
)
return customer_profile_feature_view