-
Notifications
You must be signed in to change notification settings - Fork 44
Feat/java/create feature view #1420
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat/java/create feature view #1420
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR Overview
This PR introduces a new builder pattern for constructing FeatureView objects and extends functionality for feature view and feature group query operations across Beam, Flink, and HSFS modules. Key changes include:
- Adding builder classes and getOrCreate methods for FeatureView in multiple modules.
- Introducing new query methods (e.g., selectFeatures, selectAll, selectExcept) for FeatureGroup objects.
- Extending tagging methods and updating QueryBase from an abstract to a concrete class.
Reviewed Changes
File | Description |
---|---|
java/beam/src/main/java/com/logicalclocks/hsfs/beam/FeatureView.java | Adds FeatureView builder and constructor enhancements. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/FeatureView.java | Introduces similar FeatureView builder changes. |
java/flink/src/main/java/com/logicalclocks/hsfs/flink/FeatureView.java | Adds builder support for Flink FeatureView. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/engine/FeatureViewEngine.java | Implements getOrCreateFeatureView with error handling. |
java/flink/src/main/java/com/logicalclocks/hsfs/flink/engine/FeatureViewEngine.java | Mirrors getOrCreateFeatureView functionality for Flink. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/engine/FeatureGroupUtils.java | Updates getSubject workaround logic. |
java/beam/src/main/java/com/logicalclocks/hsfs/beam/engine/FeatureViewEngine.java | Adds List import and getOrCreateFeatureView for Beam. |
java/beam/src/main/java/com/logicalclocks/hsfs/beam/StreamFeatureGroup.java | Adds new query selection methods to Beam FeatureGroup. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/FeatureStore.java | Introduces createFeatureView and getOrCreateFeatureView API methods. |
java/flink/src/main/java/com/logicalclocks/hsfs/flink/StreamFeatureGroup.java | Adds query methods to Flink FeatureGroup. |
java/beam/src/main/java/com/logicalclocks/hsfs/beam/FeatureStore.java | Adds corresponding FeatureStore API changes for Beam. |
java/beam/src/main/java/com/logicalclocks/hsfs/beam/constructor/Query.java | Adds Beam-specific Query constructor using FeatureGroupBase. |
java/flink/src/main/java/com/logicalclocks/hsfs/flink/FeatureStore.java | Updates FeatureStore API for Flink with builder methods. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/StreamFeatureGroup.java | Extends query related methods in HSFS FeatureGroup. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/constructor/Query.java | Adds HSFS Query constructor changes. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/FeatureViewBase.java | Introduces new tagging and deletion related methods for FeatureView. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/FeatureGroupBase.java | Adds new property for feature store identifier. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/constructor/QueryBase.java | Changes QueryBase from an abstract to a concrete class. |
java/hsfs/src/main/java/com/logicalclocks/hsfs/TrainingDatasetFeature.java | Applies @JsonIgnore annotation to isComplex for serialization control. |
java/flink/src/main/java/com/logicalclocks/hsfs/flink/constructor/Query.java | Updates Flink Query constructor accordingly. |
Copilot reviewed 24 out of 24 changed files in this pull request and generated 1 comment.
@@ -41,7 +41,7 @@ | |||
import java.util.stream.Collectors; | |||
|
|||
@NoArgsConstructor | |||
public abstract class QueryBase<T extends QueryBase<T, T2, T3>, T2 extends FeatureGroupBase, T3> { | |||
public class QueryBase<T extends QueryBase<T, T2, T3>, T2 extends FeatureGroupBase, T3> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
QueryBase was changed from an abstract class to a concrete class; please verify if this is intentional to avoid accidental instantiation.
Copilot uses AI. Check for mistakes.
Co-authored-by: Ralf <[email protected]>
This PR adds/fixes/changes...
JIRA Issue: -
Priority for Review: -
Related PRs: -
How Has This Been Tested?
Checklist For The Assigned Reviewer: