Skip to content

Commit 8ca901d

Browse files
authored
[FSTORE-1134] Enable updating embedding (#1496)
(cherry picked from commit 2191bad)
1 parent 52a5772 commit 8ca901d

File tree

4 files changed

+46
-8
lines changed

4 files changed

+46
-8
lines changed

hopsworks-api/src/main/java/io/hops/hopsworks/api/featurestore/featuregroup/FeaturegroupService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ public Response getFeatureGroupForOnlinefs(
332332
verifyIdProvided(featuregroupId);
333333
Featuregroup featuregroup = featuregroupController.getFeaturegroupById(featurestore, featuregroupId);
334334
FeaturegroupDTO featuregroupDTO = new FeaturegroupDTO(featuregroup);
335+
featuregroupDTO.setFeatures(featuregroupController.getPrimaryKey(featuregroup));
335336
GenericEntity<FeaturegroupDTO> featuregroupGeneric =
336337
new GenericEntity<FeaturegroupDTO>(featuregroupDTO) {};
337338
return noCacheResponse.getNoCacheResponseBuilder(Response.Status.OK).entity(featuregroupGeneric).build();

hopsworks-common/src/main/java/io/hops/hopsworks/common/featurestore/featuregroup/FeaturegroupController.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,35 @@ public FeaturegroupDTO convertFeaturegrouptoDTO(Featuregroup featuregroup, Proje
381381
}
382382
}
383383

384+
public List<FeatureGroupFeatureDTO> getPrimaryKey(Featuregroup featuregroup) throws FeaturestoreException {
385+
switch (featuregroup.getFeaturegroupType()) {
386+
case CACHED_FEATURE_GROUP:
387+
return cachedFeaturegroupController.getPrimaryKeys(featuregroup)
388+
.stream().map(pk -> {
389+
FeatureGroupFeatureDTO featureDTO = new FeatureGroupFeatureDTO();
390+
featureDTO.setName(pk);
391+
featureDTO.setPrimary(true);
392+
return featureDTO;
393+
}).collect(Collectors.toList());
394+
case STREAM_FEATURE_GROUP:
395+
return streamFeatureGroupController.getPrimaryKeys(featuregroup)
396+
.stream().map(pk -> {
397+
FeatureGroupFeatureDTO featureDTO = new FeatureGroupFeatureDTO();
398+
featureDTO.setName(pk);
399+
featureDTO.setPrimary(true);
400+
return featureDTO;
401+
}).collect(Collectors.toList());
402+
case ON_DEMAND_FEATURE_GROUP:
403+
return onDemandFeaturegroupController.getFeaturesDTO(featuregroup)
404+
.stream().filter(FeatureGroupFeatureDTO::getPrimary).collect(Collectors.toList());
405+
default:
406+
throw new IllegalArgumentException(RESTCodes.FeaturestoreErrorCode.ILLEGAL_FEATUREGROUP_TYPE.getMessage()
407+
+ ", Recognized Feature group types are: " + FeaturegroupType.ON_DEMAND_FEATURE_GROUP + "," +
408+
FeaturegroupType.STREAM_FEATURE_GROUP + ", and: " + FeaturegroupType.CACHED_FEATURE_GROUP +
409+
". The provided feature group type was not recognized: " + featuregroup.getFeaturegroupType());
410+
}
411+
}
412+
384413
/**
385414
* Retrieves a list of feature groups with a specific name from a specific feature store
386415
*

hopsworks-common/src/main/java/io/hops/hopsworks/common/featurestore/featuregroup/cached/CachedFeaturegroupController.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,7 @@ public CachedFeaturegroupDTO convertCachedFeaturegroupToDTO(Featuregroup feature
210210

211211
public List<FeatureGroupFeatureDTO> getFeaturesDTO(Featuregroup featuregroup, Project project, Users user)
212212
throws FeaturestoreException {
213-
Set<String> primaryKeys = featuregroup.getCachedFeaturegroup().getFeaturesExtraConstraints().stream()
214-
.filter(CachedFeatureExtraConstraints::getPrimary)
215-
.map(CachedFeatureExtraConstraints::getName)
216-
.collect(Collectors.toSet());
213+
Set<String> primaryKeys = getPrimaryKeys(featuregroup);
217214

218215
Set<String> precombineKeys = featuregroup.getCachedFeaturegroup().getFeaturesExtraConstraints().stream()
219216
.filter(CachedFeatureExtraConstraints::getHudiPrecombineKey)
@@ -242,6 +239,13 @@ public List<FeatureGroupFeatureDTO> getFeaturesDTO(Featuregroup featuregroup, Pr
242239
return featureGroupFeatures;
243240
}
244241

242+
public Set<String> getPrimaryKeys(Featuregroup featuregroup) {
243+
return featuregroup.getCachedFeaturegroup().getFeaturesExtraConstraints().stream()
244+
.filter(CachedFeatureExtraConstraints::getPrimary)
245+
.map(CachedFeatureExtraConstraints::getName)
246+
.collect(Collectors.toSet());
247+
}
248+
245249
public List<FeatureGroupFeatureDTO> getFeaturesDTOOnlineChecked(Featuregroup featuregroup,
246250
Project project, Users user)
247251
throws FeaturestoreException {

hopsworks-common/src/main/java/io/hops/hopsworks/common/featurestore/featuregroup/stream/StreamFeatureGroupController.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,7 @@ public StreamFeatureGroupDTO convertStreamFeatureGroupToDTO(Featuregroup feature
101101

102102
public List<FeatureGroupFeatureDTO> getFeaturesDTO(Featuregroup featuregroup,
103103
Project project, Users user) throws FeaturestoreException {
104-
Set<String> primaryKeys = featuregroup.getStreamFeatureGroup().getFeaturesExtraConstraints().stream()
105-
.filter(CachedFeatureExtraConstraints::getPrimary)
106-
.map(CachedFeatureExtraConstraints::getName)
107-
.collect(Collectors.toSet());
104+
Set<String> primaryKeys = getPrimaryKeys(featuregroup);
108105

109106
Set<String> precombineKeys = featuregroup.getStreamFeatureGroup().getFeaturesExtraConstraints().stream()
110107
.filter(CachedFeatureExtraConstraints::getHudiPrecombineKey)
@@ -131,6 +128,13 @@ public List<FeatureGroupFeatureDTO> getFeaturesDTO(Featuregroup featuregroup,
131128
return featureGroupFeatures;
132129
}
133130

131+
public Set<String> getPrimaryKeys(Featuregroup featuregroup) {
132+
return featuregroup.getStreamFeatureGroup().getFeaturesExtraConstraints().stream()
133+
.filter(CachedFeatureExtraConstraints::getPrimary)
134+
.map(CachedFeatureExtraConstraints::getName)
135+
.collect(Collectors.toSet());
136+
}
137+
134138
public List<FeatureGroupFeatureDTO> getFeaturesDTOOnlineChecked(Featuregroup featuregroup,
135139
Project project, Users user)
136140
throws FeaturestoreException {

0 commit comments

Comments
 (0)