123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- package examples.dataloader;
- import com.google.common.collect.ArrayListMultimap;
- import com.google.common.collect.ListMultimap;
- import com.tzld.piaoquan.recommend.feature.domain.video.base.RequestContextBytesFeature;
- import com.tzld.piaoquan.recommend.feature.domain.video.base.UserBytesFeature;
- import com.tzld.piaoquan.recommend.feature.domain.video.base.VideoBytesFeature;
- import com.tzld.piaoquan.recommend.feature.domain.video.feature.BytesGroup;
- import com.tzld.piaoquan.recommend.feature.domain.video.feature.BytesUtils;
- import com.tzld.piaoquan.recommend.feature.model.sample.*;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- public class OfflineVlogShareLRFeatureExtractor {
- public ListMultimap<FeatureGroup, BaseFeature> featureMap = ArrayListMultimap.create();
- final private BytesUtils utils;
- final private int groupCount = OfflineVlogFeatureGroup.values().length;
- public OfflineVlogShareLRFeatureExtractor() {
- BytesGroup[] groups = new BytesGroup[OfflineVlogFeatureGroup.values().length];
- OfflineVlogFeatureGroup[] var2 = OfflineVlogFeatureGroup.values();
- int var3 = var2.length;
- for(int var4 = 0; var4 < var3; ++var4) {
- OfflineVlogFeatureGroup g = var2[var4];
- groups[g.ordinal()] = new BytesGroup(g.ordinal(), g.getGroupName(), g.getGroupNameBytes());
- }
- this.utils = new BytesUtils(groups);
- }
- public void makeFeature(Map<String, Object> maps){
- for (Map.Entry<String, Object> entry : maps.entrySet()){
- OfflineVlogFeatureGroup ovf = OfflineVlogFeatureGroup.valueOf(entry.getKey());
- Object value = entry.getValue();
- if (value instanceof String){
- this.makeFea(ovf, ((String)value).getBytes());
- }else if (value instanceof Double){
- this.makeFea(ovf, String.valueOf((Double)value).getBytes());
- }else if (value instanceof Integer){
-
- }else{
-
- this.makeFea(ovf, ((String)value).getBytes());
- }
- }
- }
- private FeatureGroup makeGroup(OfflineVlogFeatureGroup group) {
- FeatureGroup.Builder g = FeatureGroup.newBuilder();
- g.setType("1");
- g.setName(group.getGroupName());
- g.setId(group.ordinal());
- return g.build();
- }
- void makeFea(OfflineVlogFeatureGroup group, byte[] value) {
- FeatureGroup featureGroup = this.makeGroup(group);
- BaseFeature feature = this.utils.makeFea(group.ordinal(), value);
- this.featureMap.put(featureGroup, feature);
- }
- }
|