AdSampleConstructor.java 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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.ad.engine.commons.base.AdActionFeature;
  6. import com.tzld.piaoquan.ad.engine.commons.base.AdRequestContext;
  7. import com.tzld.piaoquan.ad.engine.commons.base.UserAdFeature;
  8. import com.tzld.piaoquan.ad.engine.commons.base.AdItemFeature;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11. public class AdSampleConstructor {
  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. private static final Account account = new AliyunAccount(ODPS_CONFIG.get("ACCESSID"), ODPS_CONFIG.get("ACCESSKEY"));
  20. public static AdRequestContext constructRequestContext(Record record) {
  21. AdRequestContext requestContext = new AdRequestContext();
  22. requestContext.setApptype(record.getString("apptype"));
  23. requestContext.setMachineinfoBrand(record.getString("machineinfo_brand"));
  24. requestContext.setMachineinfoModel(record.getString("machineinfo_model"));
  25. requestContext.setMachineinfoSdkversion(record.getString("machineinfo_sdkversion"));
  26. requestContext.setMachineinfoWchatversion(record.getString("machineinfo_wechatversion"));
  27. requestContext.setDay(record.getString("ctx_day"));
  28. requestContext.setWeek(record.getString("ctx_week"));
  29. requestContext.setHour(record.getString("ctx_hour"));
  30. requestContext.setRegion(record.getString("province"));
  31. requestContext.setCity(record.getString("city"));
  32. return requestContext;
  33. }
  34. public static UserAdFeature constructUserFeature(Record record) {
  35. UserAdFeature userFeature = new UserAdFeature();
  36. userFeature.setMid(record.get("machinecode").toString());
  37. // 1day features
  38. AdActionFeature user1dayActionFeature = new AdActionFeature();
  39. user1dayActionFeature.setAdView(record.getString("user_view_1day"));
  40. user1dayActionFeature.setAdClick(record.getString("user_click_1day"));
  41. user1dayActionFeature.setAdConversion(record.getString("user_conversion_1day"));
  42. user1dayActionFeature.setCtr(record.getString("user_ctr_1day"));
  43. user1dayActionFeature.setCvr(record.getString("user_cvr_1day"));
  44. userFeature.setDay1_cnt_features(user1dayActionFeature);
  45. // 3day features
  46. AdActionFeature user3dayActionFeature = new AdActionFeature();
  47. user3dayActionFeature.setAdView(record.getString("user_view_3day"));
  48. user3dayActionFeature.setAdClick(record.getString("user_click_3day"));
  49. user3dayActionFeature.setAdConversion(record.getString("user_conversion_3day"));
  50. user3dayActionFeature.setCtr(record.getString("user_ctr_3day"));
  51. user3dayActionFeature.setCvr(record.getString("user_cvr_3day"));
  52. userFeature.setDay3_cnt_features(user3dayActionFeature);
  53. // 7day features
  54. AdActionFeature user7dayActionFeature = new AdActionFeature();
  55. user7dayActionFeature.setAdView(record.getString("user_view_7day"));
  56. user7dayActionFeature.setAdClick(record.getString("user_click7day"));
  57. user7dayActionFeature.setAdConversion(record.getString("user_conversion_7day"));
  58. user7dayActionFeature.setCtr(record.getString("user_ctr_7day"));
  59. user7dayActionFeature.setCvr(record.getString("user_cvr_7day"));
  60. userFeature.setDay3_cnt_features(user7dayActionFeature);
  61. // 3month features
  62. AdActionFeature user3MonthActionFeature = new AdActionFeature();
  63. user3MonthActionFeature.setAdView(record.getString("user_view_3month"));
  64. user3MonthActionFeature.setAdClick(record.getString("user_click_3month"));
  65. user3MonthActionFeature.setAdConversion(record.getString("user_conversion_3month"));
  66. user3MonthActionFeature.setCtr(record.getString("user_ctr_3month"));
  67. user3MonthActionFeature.setCvr(record.getString("user_cvr_3month"));
  68. userFeature.setDay1_cnt_features(user1dayActionFeature);
  69. return userFeature;
  70. }
  71. public static AdItemFeature constructItemFeature(Record record) {
  72. AdItemFeature itemFeature = new AdItemFeature();
  73. itemFeature.setAdId(record.getString("adid"));
  74. itemFeature.setAdvertiserId(record.getString("advertiserid"));
  75. itemFeature.setCampaignId(record.getString("campaignid"));
  76. itemFeature.setCreativeId(record.getString("creativeid"));
  77. // 1day features
  78. AdActionFeature user1dayActionFeature = new AdActionFeature();
  79. user1dayActionFeature.setAdView(record.getString("ad_view_1day"));
  80. user1dayActionFeature.setAdClick(record.getString("ad_click_1day"));
  81. user1dayActionFeature.setAdConversion(record.getString("ad_conversion_1day"));
  82. user1dayActionFeature.setCtr(record.getString("ad_ctr_1day"));
  83. user1dayActionFeature.setCvr(record.getString("ad_cvr_1day"));
  84. itemFeature.setDay1_cnt_features(user1dayActionFeature);
  85. // 3day features
  86. AdActionFeature user3dayActionFeature = new AdActionFeature();
  87. user3dayActionFeature.setAdView(record.getString("ad_view_3day"));
  88. user3dayActionFeature.setAdClick(record.getString("ad_click_3day"));
  89. user3dayActionFeature.setAdConversion(record.getString("ad_conversion_3day"));
  90. user3dayActionFeature.setCtr(record.getString("ad_ctr_3day"));
  91. user3dayActionFeature.setCvr(record.getString("ad_cvr_3day"));
  92. itemFeature.setDay3_cnt_features(user3dayActionFeature);
  93. // 7day features
  94. AdActionFeature user7dayActionFeature = new AdActionFeature();
  95. user7dayActionFeature.setAdView(record.getString("ad_view_7day"));
  96. user7dayActionFeature.setAdClick(record.getString("ad_click_7day"));
  97. user7dayActionFeature.setAdConversion(record.getString("ad_conversion_7day"));
  98. user7dayActionFeature.setCtr(record.getString("ad_ctr_7day"));
  99. user7dayActionFeature.setCvr(record.getString("ad_cvr_7day"));
  100. itemFeature.setDay3_cnt_features(user7dayActionFeature);
  101. // 3month features
  102. AdActionFeature user3MonthActionFeature = new AdActionFeature();
  103. user3MonthActionFeature.setAdView(record.getString("ad_view_3month"));
  104. user3MonthActionFeature.setAdClick(record.getString("ad_click_3month"));
  105. user3MonthActionFeature.setAdConversion(record.getString("ad_conversion_3month"));
  106. user3MonthActionFeature.setCtr(record.getString("ad_ctr_3month"));
  107. user3MonthActionFeature.setCvr(record.getString("ad_cvr_3month"));
  108. itemFeature.setDay1_cnt_features(user1dayActionFeature);
  109. return itemFeature;
  110. }
  111. }