123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- package examples.dataloader;
- import com.aliyun.odps.account.Account;
- import com.aliyun.odps.account.AliyunAccount;
- import com.aliyun.odps.data.Record;
- import com.tzld.piaoquan.ad.engine.commons.base.AdActionFeature;
- import com.tzld.piaoquan.ad.engine.commons.base.AdItemFeature;
- import com.tzld.piaoquan.ad.engine.commons.base.UserAdFeature;
- import com.tzld.piaoquan.data.base.ItemFeature;
- import com.tzld.piaoquan.data.base.RequestContext;
- import com.tzld.piaoquan.data.base.UserActionFeature;
- import com.tzld.piaoquan.data.base.UserFeature;
- import java.util.HashMap;
- import java.util.Map;
- public class AdRedisFeatureConstructor {
- private static final String BUCKET_NAME = "ali-recommend";
- private static final Map<String, String> ODPS_CONFIG = new HashMap<String, String>();
- static {
- ODPS_CONFIG.put("ENDPOINT", "http://service.cn.maxcompute.aliyun.com/api");
- ODPS_CONFIG.put("ACCESSID", "LTAIWYUujJAm7CbH");
- ODPS_CONFIG.put("ACCESSKEY", "RfSjdiWwED1sGFlsjXv0DlfTnZTG1P");
- }
- ;
- private static final Account account = new AliyunAccount(ODPS_CONFIG.get("ACCESSID"), ODPS_CONFIG.get("ACCESSKEY"));
- public static RequestContext constructRequestContext(Record record) {
- RequestContext requestContext = new RequestContext();
- requestContext.setApptype(record.getString("apptype"));
- requestContext.setMachineinfo_brand(record.getString("machineinfo_brand"));
- requestContext.setMachineinfo_model(record.getString("machineinfo_model"));
- requestContext.setMachineinfo_platform(record.getString("machineinfo_platform"));
- requestContext.setMachineinfo_sdkversion(record.getString("machineinfo_sdkversion"));
- requestContext.setMachineinfo_system(record.getString("machineinfo_system"));
- requestContext.setMachineinfo_wechatversion(record.getString("machineinfo_wechatversion"));
- requestContext.setDay(record.getString("ctx_day"));
- requestContext.setWeek(record.getString("ctx_week"));
- requestContext.setHour(record.getString("ctx_hour"));
- requestContext.setRegion(record.getString("ctx_region"));
- requestContext.setCity(record.getString("ctx_city"));
- return requestContext;
- }
- public static UserAdFeature constructUserFeature(Record record) {
- UserAdFeature userFeature = new UserAdFeature();
- userFeature.setMid(record.getString("mids"));
- // 1day features
- AdActionFeature userAd1dayActionFeature = new AdActionFeature();
- userAd1dayActionFeature.setOriginAdView(record.getString("ad_view_1day"));
- userAd1dayActionFeature.setOriginAdClick(record.getString("ad_click_1day"));
- userAd1dayActionFeature.setOriginAdConversion(record.getString("ad_conversion_1day"));
- userAd1dayActionFeature.setOriginCtr(record.getString("ad_ctr_1day"));
- userAd1dayActionFeature.setOriginCvr(record.getString("ad_cvr_1day"));
- userFeature.setDay1_cnt_features(userAd1dayActionFeature);
- // 3day features
- AdActionFeature userAd3dayActionFeature = new AdActionFeature();
- userAd1dayActionFeature.setOriginAdView(record.getString("ad_view_3day"));
- userAd1dayActionFeature.setOriginAdClick(record.getString("ad_click_3day"));
- userAd1dayActionFeature.setOriginAdConversion(record.getString("ad_conversion_3day"));
- userAd1dayActionFeature.setOriginCtr(record.getString("ad_ctr_3day"));
- userAd1dayActionFeature.setOriginCvr(record.getString("ad_cvr_3day"));
- userFeature.setDay3_cnt_features(userAd3dayActionFeature);
- // 7day features
- AdActionFeature userAd7dayActionFeature = new AdActionFeature();
- userAd1dayActionFeature.setOriginAdView(record.getString("ad_view_7day"));
- userAd1dayActionFeature.setOriginAdClick(record.getString("ad_click7day"));
- userAd1dayActionFeature.setOriginAdConversion(record.getString("ad_conversion_7day"));
- userAd1dayActionFeature.setOriginCtr(record.getString("ad_ctr_7day"));
- userAd1dayActionFeature.setOriginCvr(record.getString("ad_cvr_7day"));
- userFeature.setDay7_cnt_features(userAd7dayActionFeature);
- // 3month features
- AdActionFeature userAd3MonthActionFeature = new AdActionFeature();
- userAd3MonthActionFeature.setOriginAdView(record.getString("ad_view_3month"));
- userAd3MonthActionFeature.setOriginAdClick(record.getString("ad_click_3month"));
- userAd3MonthActionFeature.setOriginAdConversion(record.getString("ad_conversion_3month"));
- userAd3MonthActionFeature.setOriginCtr(record.getString("ad_ctr_3month"));
- userAd3MonthActionFeature.setOriginCvr(record.getString("ad_cvr_3month"));
- userFeature.setMonth3_cnt_features(userAd3MonthActionFeature);
- return userFeature;
- }
- public static AdItemFeature constructItemFeature(Record record) {
- AdItemFeature itemFeature = new AdItemFeature();
- itemFeature.setAdId(record.getString("adid"));
- // itemFeature.setAdCode(record.getString("adcode"));
- itemFeature.setCampaignId(record.getString("campaignid"));
- itemFeature.setAdvertiserId(record.getString("advertiserid"));
- itemFeature.setCreativeId(record.getString("creativeid"));
- // ad 维度特征
- AdActionFeature adIdActionFeature1day = new AdActionFeature();
- adIdActionFeature1day.setOriginAdView(record.getString("view_ad_1day"));
- adIdActionFeature1day.setOriginAdClick(record.getString("click_ad_1day"));
- adIdActionFeature1day.setOriginAdConversion(record.getString("conversion_ad_1day"));
- adIdActionFeature1day.setOriginCtr(record.getString("ctr_ad_1day"));
- adIdActionFeature1day.setOriginCvr(record.getString("cvr_ad_1day"));
- itemFeature.setDay1_cnt_features(adIdActionFeature1day);
- AdActionFeature adIdActionFeature3day = new AdActionFeature();
- adIdActionFeature3day.setOriginAdView(record.getString("view_ad_3day"));
- adIdActionFeature3day.setOriginAdClick(record.getString("click_ad_3day"));
- adIdActionFeature3day.setOriginAdConversion(record.getString("conversion_ad_3day"));
- adIdActionFeature3day.setOriginCtr(record.getString("ctr_ad_3day"));
- adIdActionFeature3day.setOriginCvr(record.getString("cvr_ad_3day"));
- itemFeature.setDay3_cnt_features(adIdActionFeature3day);
- AdActionFeature adIdActionFeature7day = new AdActionFeature();
- adIdActionFeature7day.setOriginAdView(record.getString("view_ad_7day"));
- adIdActionFeature7day.setOriginAdClick(record.getString("click_ad_7day"));
- adIdActionFeature7day.setOriginAdConversion(record.getString("conversion_ad_7day"));
- adIdActionFeature7day.setOriginCtr(record.getString("ctr_ad_7day"));
- adIdActionFeature7day.setOriginCvr(record.getString("cvr_ad_7day"));
- itemFeature.setDay7_cnt_features(adIdActionFeature7day);
- AdActionFeature adIdActionFeature3month = new AdActionFeature();
- adIdActionFeature3month.setOriginAdView(record.getString("view_ad_3month"));
- adIdActionFeature3month.setOriginAdClick(record.getString("click_ad_3month"));
- adIdActionFeature3month.setOriginAdConversion(record.getString("conversion_ad_3month"));
- adIdActionFeature3month.setOriginCtr(record.getString("ctr_ad_3month"));
- adIdActionFeature3month.setOriginCvr(record.getString("cvr_ad_3month"));
- itemFeature.setMonth3_cnt_features(adIdActionFeature3month);
- // TODO campaignId等维度特征
- return itemFeature;
- }
- }
|