New transform API
Is your feature request related to a problem? Please describe.
Support feature_store.transform() API
This will decouple from the materialize (where materialize can keep the old behavior). The reason for this is that the current materialize support below functions:
- From data source to either offline store or online store with transformation (via BatchFeatureView and StreamFeatureView)
- From the data source specified by the offline store to the online store without transformation. (via FeatureView)
This means it couples the behavior of
transformandmaterialize.
Describe the solution you'd like
A better data flow:
transform: data source -> transform -> online/offline store. (Batch/Stream feature view)
materialize: data source in offline store -> online store. (All Feature View, default no transformation, with transformation if transform=true)
Additional context
This will be consistent with the workshop: https://github.com/feast-dev/feast-workshop/tree/main/module_3_db
and replace the dbt with the feast new transform api.