diff --git a/sdk/python/feast/feature_view.py b/sdk/python/feast/feature_view.py index 53b2099432..d91ee9080d 100644 --- a/sdk/python/feast/feature_view.py +++ b/sdk/python/feast/feature_view.py @@ -259,7 +259,7 @@ def join_keys(self) -> List[str]: @property def schema(self) -> List[Field]: - return self.entity_columns + self.features + return list(set(self.entity_columns + self.features)) def ensure_valid(self): """ diff --git a/sdk/python/feast/field.py b/sdk/python/feast/field.py index d3bdf56392..245bb24f52 100644 --- a/sdk/python/feast/field.py +++ b/sdk/python/feast/field.py @@ -30,11 +30,13 @@ class Field: Attributes: name: The name of the field. dtype: The type of the field, such as string or float. - tags (optional): User-defined metadata in dictionary form. + description: A human-readable description. + tags: User-defined metadata in dictionary form. """ name: str dtype: FeastType + description: str tags: Dict[str, str] def __init__( @@ -51,6 +53,7 @@ def __init__( Args: name: The name of the field. dtype: The type of the field, such as string or float. + description (optional): A human-readable description. tags (optional): User-defined metadata in dictionary form. """ self.name = name @@ -65,6 +68,7 @@ def __eq__(self, other): if ( self.name != other.name or self.dtype != other.dtype + or self.description != other.description or self.tags != other.tags ): return False