Support entityless features
See original GitHub issueIs your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I’m always frustrated when […]
We have features that don’t have a corresponding entity and should just be joined based on the timestamp column.
Describe the solution you’d like A clear and concise description of what you want to happen.
There are probably more efficient solutions than the one here but this one does a good job of preserving modularity such that it turns the entityless problem into a normal entity so all the existing logic/sql can run without needing to be adjusted to handle a special case. The code to turn the entityless case into a normal entity case can be quite self contained.
Feast supports an entity named “__entityless” which is internally defined. When an user registers a new featureview that involves entityless features, they pass an empty entity list. Empty list defaults to using the “__entityless” entity. Upon a join, feast looks at the entities involved with the features and if “__entityless” is present, the entity source data is appended with an “__entityless” column (SELECT *, 0 as __entityless from my_entity_table
) and the feature data tables that use these entityless features are also appended with that constant column. __entityless is added to the join_key set. Everything else can proceed as normal.
Describe alternatives you’ve considered A clear and concise description of any alternative solutions or features you’ve considered.
N/A
Additional context Add any other context or screenshots about the feature request here.
Issue Analytics
- State:
- Created 2 years ago
- Comments:5 (3 by maintainers)
Assiging to @codyjlin
i think you’ve already seen it, but we’ve start developing the design via this rfc - https://docs.google.com/document/d/1mOZ-a6Voq43JcsPu2BIaZEEa3FJ6RhyFxs2CZDbby-U/edit#heading=h.9gaqqtox9jg6