AdRedisFeatureConstructor.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package examples.dataloader;
  2. import com.aliyun.odps.account.Account;
  3. import com.aliyun.odps.account.AliyunAccount;
  4. import com.aliyun.odps.data.Record;
  5. import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdActionFeature;
  6. import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdRequestContext;
  7. import com.tzld.piaoquan.recommend.feature.domain.ad.base.UserAdFeature;
  8. import com.tzld.piaoquan.recommend.feature.domain.ad.base.AdItemFeature;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11. public class AdRedisFeatureConstructor {
  12. private static final String BUCKET_NAME = "ali-recommend";
  13. private static final Map<String, String> ODPS_CONFIG = new HashMap<String, String>();
  14. static {
  15. ODPS_CONFIG.put("ENDPOINT", "http://service.cn.maxcompute.aliyun.com/api");
  16. ODPS_CONFIG.put("ACCESSID", "LTAIWYUujJAm7CbH");
  17. ODPS_CONFIG.put("ACCESSKEY", "RfSjdiWwED1sGFlsjXv0DlfTnZTG1P");
  18. }
  19. ;
  20. private static final Account account = new AliyunAccount(ODPS_CONFIG.get("ACCESSID"), ODPS_CONFIG.get("ACCESSKEY"));
  21. public static UserAdFeature constructUserFeature(Record record) {
  22. UserAdFeature userFeature = new UserAdFeature();
  23. userFeature.setMid(record.getString("mids"));
  24. // 1day features
  25. AdActionFeature userAd1dayActionFeature = new AdActionFeature();
  26. userAd1dayActionFeature.setOriginAdView(record.getString("ad_view_1day"));
  27. userAd1dayActionFeature.setOriginAdClick(record.getString("ad_click_1day"));
  28. userAd1dayActionFeature.setOriginAdConversion(record.getString("ad_conversion_1day"));
  29. userAd1dayActionFeature.setOriginCtr(record.getString("ad_ctr_1day"));
  30. userAd1dayActionFeature.setOriginCvr(record.getString("ad_cvr_1day"));
  31. userFeature.setDay1_cnt_features(userAd1dayActionFeature);
  32. // 3day features
  33. AdActionFeature userAd3dayActionFeature = new AdActionFeature();
  34. userAd1dayActionFeature.setOriginAdView(record.getString("ad_view_3day"));
  35. userAd1dayActionFeature.setOriginAdClick(record.getString("ad_click_3day"));
  36. userAd1dayActionFeature.setOriginAdConversion(record.getString("ad_conversion_3day"));
  37. userAd1dayActionFeature.setOriginCtr(record.getString("ad_ctr_3day"));
  38. userAd1dayActionFeature.setOriginCvr(record.getString("ad_cvr_3day"));
  39. userFeature.setDay3_cnt_features(userAd3dayActionFeature);
  40. // 7day features
  41. AdActionFeature userAd7dayActionFeature = new AdActionFeature();
  42. userAd1dayActionFeature.setOriginAdView(record.getString("ad_view_7day"));
  43. userAd1dayActionFeature.setOriginAdClick(record.getString("ad_click7day"));
  44. userAd1dayActionFeature.setOriginAdConversion(record.getString("ad_conversion_7day"));
  45. userAd1dayActionFeature.setOriginCtr(record.getString("ad_ctr_7day"));
  46. userAd1dayActionFeature.setOriginCvr(record.getString("ad_cvr_7day"));
  47. userFeature.setDay7_cnt_features(userAd7dayActionFeature);
  48. // 3month features
  49. AdActionFeature userAd3MonthActionFeature = new AdActionFeature();
  50. userAd3MonthActionFeature.setOriginAdView(record.getString("ad_view_3month"));
  51. userAd3MonthActionFeature.setOriginAdClick(record.getString("ad_click_3month"));
  52. userAd3MonthActionFeature.setOriginAdConversion(record.getString("ad_conversion_3month"));
  53. userAd3MonthActionFeature.setOriginCtr(record.getString("ad_ctr_3month"));
  54. userAd3MonthActionFeature.setOriginCvr(record.getString("ad_cvr_3month"));
  55. userFeature.setMonth3_cnt_features(userAd3MonthActionFeature);
  56. return userFeature;
  57. }
  58. public static AdItemFeature constructItemFeature(Record record) {
  59. AdItemFeature itemFeature = new AdItemFeature();
  60. itemFeature.setAdId(record.getString("creativeid"));
  61. // itemFeature.setAdCode(record.getString("adcode"));
  62. itemFeature.setCampaignId(record.getString("campaignid"));
  63. itemFeature.setAdvertiserId(record.getString("advertiserid"));
  64. itemFeature.setCreativeId(record.getString("creativeid"));
  65. // ad 维度特征
  66. AdActionFeature adIdActionFeature1day = new AdActionFeature();
  67. adIdActionFeature1day.setOriginAdView(record.getString("view_ad_1day"));
  68. adIdActionFeature1day.setOriginAdClick(record.getString("click_ad_1day"));
  69. adIdActionFeature1day.setOriginAdConversion(record.getString("conversion_ad_1day"));
  70. adIdActionFeature1day.setOriginCtr(record.getString("ctr_ad_1day"));
  71. adIdActionFeature1day.setOriginCvr(record.getString("cvr_ad_1day"));
  72. itemFeature.setDay1_cnt_features(adIdActionFeature1day);
  73. AdActionFeature adIdActionFeature3day = new AdActionFeature();
  74. adIdActionFeature3day.setOriginAdView(record.getString("view_ad_3day"));
  75. adIdActionFeature3day.setOriginAdClick(record.getString("click_ad_3day"));
  76. adIdActionFeature3day.setOriginAdConversion(record.getString("conversion_ad_3day"));
  77. adIdActionFeature3day.setOriginCtr(record.getString("ctr_ad_3day"));
  78. adIdActionFeature3day.setOriginCvr(record.getString("cvr_ad_3day"));
  79. itemFeature.setDay3_cnt_features(adIdActionFeature3day);
  80. AdActionFeature adIdActionFeature7day = new AdActionFeature();
  81. adIdActionFeature7day.setOriginAdView(record.getString("view_ad_7day"));
  82. adIdActionFeature7day.setOriginAdClick(record.getString("click_ad_7day"));
  83. adIdActionFeature7day.setOriginAdConversion(record.getString("conversion_ad_7day"));
  84. adIdActionFeature7day.setOriginCtr(record.getString("ctr_ad_7day"));
  85. adIdActionFeature7day.setOriginCvr(record.getString("cvr_ad_7day"));
  86. itemFeature.setDay7_cnt_features(adIdActionFeature7day);
  87. AdActionFeature adIdActionFeature3month = new AdActionFeature();
  88. adIdActionFeature3month.setOriginAdView(record.getString("view_ad_3month"));
  89. adIdActionFeature3month.setOriginAdClick(record.getString("click_ad_3month"));
  90. adIdActionFeature3month.setOriginAdConversion(record.getString("conversion_ad_3month"));
  91. adIdActionFeature3month.setOriginCtr(record.getString("ctr_ad_3month"));
  92. adIdActionFeature3month.setOriginCvr(record.getString("cvr_ad_3month"));
  93. itemFeature.setMonth3_cnt_features(adIdActionFeature3month);
  94. // TODO creativeId等维度特征
  95. // creative 维度特征
  96. AdActionFeature creativeActionFeature1day = new AdActionFeature();
  97. creativeActionFeature1day.setOriginAdView(record.getString("view_creative_1day"));
  98. creativeActionFeature1day.setOriginAdClick(record.getString("click_creative_1day"));
  99. creativeActionFeature1day.setOriginAdConversion(record.getString("conversion_creative_1day"));
  100. creativeActionFeature1day.setOriginCtr(record.getString("ctr_creative_1day"));
  101. creativeActionFeature1day.setOriginCvr(record.getString("cvr_creative_1day"));
  102. itemFeature.setCreative_1day_cnt_features(creativeActionFeature1day);
  103. AdActionFeature creativeActionFeature3day = new AdActionFeature();
  104. creativeActionFeature3day.setOriginAdView(record.getString("view_creative_3day"));
  105. creativeActionFeature3day.setOriginAdClick(record.getString("click_creative_3day"));
  106. creativeActionFeature3day.setOriginAdConversion(record.getString("conversion_creative_3day"));
  107. creativeActionFeature3day.setOriginCtr(record.getString("ctr_creative_3day"));
  108. creativeActionFeature3day.setOriginCvr(record.getString("cvr_creative_3day"));
  109. itemFeature.setCreative_3day_cnt_features(creativeActionFeature3day);
  110. AdActionFeature creativeActionFeature7day = new AdActionFeature();
  111. creativeActionFeature7day.setOriginAdView(record.getString("view_creative_7day"));
  112. creativeActionFeature7day.setOriginAdClick(record.getString("click_creative_7day"));
  113. creativeActionFeature7day.setOriginAdConversion(record.getString("conversion_creative_7day"));
  114. creativeActionFeature7day.setOriginCtr(record.getString("ctr_creative_7day"));
  115. creativeActionFeature7day.setOriginCvr(record.getString("cvr_creative_7day"));
  116. itemFeature.setCreative_7day_cnt_features(creativeActionFeature7day);
  117. AdActionFeature creativeActionFeature3month = new AdActionFeature();
  118. creativeActionFeature3month.setOriginAdView(record.getString("view_creative_3month"));
  119. creativeActionFeature3month.setOriginAdClick(record.getString("click_creative_3month"));
  120. creativeActionFeature3month.setOriginAdConversion(record.getString("conversion_creative_3month"));
  121. creativeActionFeature3month.setOriginCtr(record.getString("ctr_creative_3month"));
  122. creativeActionFeature3month.setOriginCvr(record.getString("cvr_creative_3month"));
  123. itemFeature.setCreative_3month_cnt_features(creativeActionFeature3month);
  124. // TODO advertiser维度
  125. // advertiser 维度特征
  126. AdActionFeature advidActionFeature1day = new AdActionFeature();
  127. advidActionFeature1day.setOriginAdView(record.getString("view_advertiser_1day"));
  128. advidActionFeature1day.setOriginAdClick(record.getString("click_advertiser_1day"));
  129. advidActionFeature1day.setOriginAdConversion(record.getString("conversion_advertiser_1day"));
  130. advidActionFeature1day.setOriginCtr(record.getString("ctr_advertiser_1day"));
  131. advidActionFeature1day.setOriginCvr(record.getString("cvr_advertiser_1day"));
  132. itemFeature.setAdvertiser_1day_cnt_features(advidActionFeature1day);
  133. AdActionFeature advidActionFeature3day = new AdActionFeature();
  134. advidActionFeature3day.setOriginAdView(record.getString("view_advertiser_3day"));
  135. advidActionFeature3day.setOriginAdClick(record.getString("click_advertiser_3day"));
  136. advidActionFeature3day.setOriginAdConversion(record.getString("conversion_advertiser_3day"));
  137. advidActionFeature3day.setOriginCtr(record.getString("ctr_advertiser_3day"));
  138. advidActionFeature3day.setOriginCvr(record.getString("cvr_advertiser_3day"));
  139. itemFeature.setAdvertiser_3day_cnt_features(advidActionFeature3day);
  140. AdActionFeature advidActionFeature7day = new AdActionFeature();
  141. advidActionFeature7day.setOriginAdView(record.getString("view_advertiser_7day"));
  142. advidActionFeature7day.setOriginAdClick(record.getString("click_advertiser_7day"));
  143. advidActionFeature7day.setOriginAdConversion(record.getString("conversion_advertiser_7day"));
  144. advidActionFeature7day.setOriginCtr(record.getString("ctr_advertiser_7day"));
  145. advidActionFeature7day.setOriginCvr(record.getString("cvr_advertiser_7day"));
  146. itemFeature.setAdvertiser_7day_cnt_features(advidActionFeature7day);
  147. AdActionFeature advidActionFeature3month = new AdActionFeature();
  148. advidActionFeature3month.setOriginAdView(record.getString("view_advertiser_3month"));
  149. advidActionFeature3month.setOriginAdClick(record.getString("click_advertiser_3month"));
  150. advidActionFeature3month.setOriginAdConversion(record.getString("conversion_advertiser_3month"));
  151. advidActionFeature3month.setOriginCtr(record.getString("ctr_advertiser_3month"));
  152. advidActionFeature3month.setOriginCvr(record.getString("cvr_advertiser_3month"));
  153. itemFeature.setAdvertiser_3month_cnt_features(advidActionFeature3month);
  154. return itemFeature;
  155. }
  156. }