Skip to content

Commit ae477dd

Browse files
authored
Make entity description optional and fix empty table_ref (feast-dev#1425)
* Make entity description optional and fix empty table_ref Signed-off-by: Jacob Klegar <jacob@tecton.ai> * Remove empty descriptions Signed-off-by: Jacob Klegar <jacob@tecton.ai> * fix lint Signed-off-by: Jacob Klegar <jacob@tecton.ai>
1 parent dd81448 commit ae477dd

6 files changed

Lines changed: 12 additions & 11 deletions

File tree

sdk/python/feast/data_source.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ def to_proto(self) -> DataSourceProto:
676676

677677
def get_table_query_string(self) -> str:
678678
"""Returns a string that can directly be used to reference this table in SQL"""
679-
if self.table_ref is not None:
679+
if self.table_ref:
680680
return f"`{self.table_ref}`"
681681
else:
682682
return f"({self.query})"

sdk/python/feast/entity.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ class Entity:
3434
def __init__(
3535
self,
3636
name: str,
37-
description: str,
3837
value_type: ValueType,
38+
description: str = "",
3939
labels: Optional[MutableMapping[str, str]] = None,
4040
):
4141
self._name = name

sdk/python/feast/offline_store.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,7 @@ def pull_latest_from_table_or_query(
125125
end_date: datetime,
126126
) -> pyarrow.Table:
127127
assert isinstance(data_source, BigQuerySource)
128-
if data_source.table_ref:
129-
from_expression = f"`{data_source.table_ref}`"
130-
else:
131-
from_expression = f"({data_source.query})"
128+
from_expression = data_source.get_table_query_string()
132129

133130
partition_by_entity_string = ", ".join(entity_names)
134131
if partition_by_entity_string != "":

sdk/python/tests/online_write_benchmark.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ def benchmark_writes():
5959
# This is just to set data source to something, we're not reading from parquet source here.
6060
parquet_path = os.path.join(temp_dir, "data.parquet")
6161

62-
driver = Entity(name="driver_id", value_type=ValueType.INT64, description="")
62+
driver = Entity(name="driver_id", value_type=ValueType.INT64)
6363
table = create_driver_hourly_stats_feature_view(
6464
create_driver_hourly_stats_source(parquet_path=parquet_path)
6565
)

sdk/python/tests/test_entity.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,7 @@ def test_entity_without_labels_empty_dict():
8484
entity = Entity("my-entity", description="My entity", value_type=ValueType.STRING)
8585
assert entity.labels == dict()
8686
assert len(entity.labels) == 0
87+
88+
89+
def test_entity_without_description():
90+
Entity("my-entity", value_type=ValueType.STRING)

sdk/python/tests/test_historical_retrieval.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@ def test_historical_features_from_parquet_sources():
224224
temp_dir, customer_df
225225
)
226226
customer_fv = create_customer_daily_profile_feature_view(customer_source)
227-
driver = Entity(name="driver", value_type=ValueType.INT64, description="")
228-
customer = Entity(name="customer", value_type=ValueType.INT64, description="")
227+
driver = Entity(name="driver", value_type=ValueType.INT64)
228+
customer = Entity(name="customer", value_type=ValueType.INT64)
229229

230230
store = FeatureStore(
231231
config=RepoConfig(
@@ -326,8 +326,8 @@ def test_historical_features_from_bigquery_sources():
326326
)
327327
customer_fv = create_customer_daily_profile_feature_view(customer_source)
328328

329-
driver = Entity(name="driver", value_type=ValueType.INT64, description="")
330-
customer = Entity(name="customer", value_type=ValueType.INT64, description="")
329+
driver = Entity(name="driver", value_type=ValueType.INT64)
330+
customer = Entity(name="customer", value_type=ValueType.INT64)
331331

332332
store = FeatureStore(
333333
config=RepoConfig(

0 commit comments

Comments
 (0)