RecommRedisFeatureConstructor.java 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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.data.base.ItemFeature;
  6. import com.tzld.piaoquan.data.base.RequestContext;
  7. import com.tzld.piaoquan.data.base.UserActionFeature;
  8. import com.tzld.piaoquan.data.base.UserFeature;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11. public class RecommRedisFeatureConstructor {
  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 RequestContext constructRequestContext(Record record) {
  22. RequestContext requestContext = new RequestContext();
  23. requestContext.setApptype(record.getString("apptype"));
  24. requestContext.setMachineinfo_brand(record.getString("machineinfo_brand"));
  25. requestContext.setMachineinfo_model(record.getString("machineinfo_model"));
  26. requestContext.setMachineinfo_platform(record.getString("machineinfo_platform"));
  27. requestContext.setMachineinfo_sdkversion(record.getString("machineinfo_sdkversion"));
  28. requestContext.setMachineinfo_system(record.getString("machineinfo_system"));
  29. requestContext.setMachineinfo_wechatversion(record.getString("machineinfo_wechatversion"));
  30. requestContext.setDay(record.getString("ctx_day"));
  31. requestContext.setWeek(record.getString("ctx_week"));
  32. requestContext.setHour(record.getString("ctx_hour"));
  33. requestContext.setRegion(record.getString("ctx_region"));
  34. requestContext.setCity(record.getString("ctx_city"));
  35. return requestContext;
  36. }
  37. public static UserFeature constructUserFeature(Record record) {
  38. UserFeature userFeature = new UserFeature();
  39. userFeature.setUid(record.get("uid").toString());
  40. userFeature.setUser_cycle_bucket_7days(record.getString("u_cycle_bucket_7days"));
  41. userFeature.setUser_cycle_bucket_30days(record.getString("u_cycle_bucket_30days"));
  42. userFeature.setUser_share_bucket_30days(record.getString("u_share_bucket_30days"));
  43. // 1day features
  44. UserActionFeature user1dayActionFeature = new UserActionFeature();
  45. user1dayActionFeature.setExp_cnt(record.getString("u_1day_exp_cnt"));
  46. user1dayActionFeature.setClick_cnt(record.getString("u_1day_click_cnt"));
  47. user1dayActionFeature.setShare_cnt(record.getString("u_1day_share_cnt"));
  48. user1dayActionFeature.setReturn_cnt(record.getString("u_1day_return_cnt"));
  49. user1dayActionFeature.setCtr(record.getString("u_ctr_1day"));
  50. user1dayActionFeature.setStr(record.getString("u_str_1day"));
  51. user1dayActionFeature.setRov(record.getString("u_rov_1day"));
  52. user1dayActionFeature.setRos(record.getString("u_ros_1day"));
  53. userFeature.setDay1_cnt_features(user1dayActionFeature);
  54. // 3day features
  55. UserActionFeature user3dayActionFeature = new UserActionFeature();
  56. user3dayActionFeature.setExp_cnt(record.getString("u_3day_exp_cnt"));
  57. user3dayActionFeature.setClick_cnt(record.getString("u_3day_click_cnt"));
  58. user3dayActionFeature.setShare_cnt(record.getString("u_3day_share_cnt"));
  59. user3dayActionFeature.setReturn_cnt(record.getString("u_3day_return_cnt"));
  60. user3dayActionFeature.setCtr(record.getString("u_ctr_3day"));
  61. user3dayActionFeature.setStr(record.getString("u_str_3day"));
  62. user3dayActionFeature.setRov(record.getString("u_rov_3day"));
  63. user3dayActionFeature.setRos(record.getString("u_ros_3day"));
  64. userFeature.setDay3_cnt_features(user3dayActionFeature);
  65. // 7day features
  66. UserActionFeature user7dayActionFeature = new UserActionFeature();
  67. user7dayActionFeature.setExp_cnt(record.getString("u_7day_exp_cnt"));
  68. user7dayActionFeature.setClick_cnt(record.getString("u_7day_click_cnt"));
  69. user7dayActionFeature.setShare_cnt(record.getString("u_7day_share_cnt"));
  70. user7dayActionFeature.setReturn_cnt(record.getString("u_7day_return_cnt"));
  71. user7dayActionFeature.setCtr(record.getString("u_ctr_7day"));
  72. user7dayActionFeature.setStr(record.getString("u_str_7day"));
  73. user7dayActionFeature.setRov(record.getString("u_rov_7day"));
  74. user7dayActionFeature.setRos(record.getString("u_ros_7day"));
  75. userFeature.setDay7_cnt_features(user7dayActionFeature);
  76. // 3month features
  77. UserActionFeature user3monthActionFeature = new UserActionFeature();
  78. user3monthActionFeature.setExp_cnt(record.getString("u_3month_exp_cnt"));
  79. user3monthActionFeature.setClick_cnt(record.getString("u_3month_click_cnt"));
  80. user3monthActionFeature.setShare_cnt(record.getString("u_3month_share_cnt"));
  81. user3monthActionFeature.setReturn_cnt(record.getString("u_3month_return_cnt"));
  82. user3monthActionFeature.setCtr(record.getString("u_ctr_3month"));
  83. user3monthActionFeature.setStr(record.getString("u_str_3month"));
  84. user3monthActionFeature.setRov(record.getString("u_rov_3month"));
  85. user3monthActionFeature.setRos(record.getString("u_ros_3month"));
  86. userFeature.setMonth3_cnt_features(user3monthActionFeature);
  87. return userFeature;
  88. }
  89. public static ItemFeature constructItemFeature(Record record) {
  90. ItemFeature itemFeature = new ItemFeature();
  91. itemFeature.setVideoId(record.getString("videoid"));
  92. itemFeature.setUpId(record.getString("uid"));
  93. itemFeature.setTitleLength(record.getString("i_title_len"));
  94. itemFeature.setPlayLength(record.getString("i_play_len"));
  95. itemFeature.setTotalTime(record.getString("total_time"));
  96. itemFeature.setDaysSinceUpload(record.getString("i_days_since_upload"));
  97. UserActionFeature user1dayActionFeature = new UserActionFeature();
  98. user1dayActionFeature.setExp_cnt(record.getString("i_1day_exp_cnt"));
  99. user1dayActionFeature.setClick_cnt(record.getString("i_1day_click_cnt"));
  100. user1dayActionFeature.setShare_cnt(record.getString("i_1day_share_cnt"));
  101. user1dayActionFeature.setReturn_cnt(record.getString("i_1day_return_cnt"));
  102. user1dayActionFeature.setCtr(record.getString("i_ctr_1day"));
  103. user1dayActionFeature.setStr(record.getString("i_str_1day"));
  104. user1dayActionFeature.setRov(record.getString("i_rov_1day"));
  105. user1dayActionFeature.setRos(record.getString("i_ros_1day"));
  106. itemFeature.setDay1_cnt_features(user1dayActionFeature);
  107. UserActionFeature user3dayActionFeature = new UserActionFeature();
  108. user3dayActionFeature.setExp_cnt(record.getString("i_3day_exp_cnt"));
  109. user3dayActionFeature.setClick_cnt(record.getString("i_3day_click_cnt"));
  110. user3dayActionFeature.setShare_cnt(record.getString("i_3day_share_cnt"));
  111. user3dayActionFeature.setReturn_cnt(record.getString("i_3day_return_cnt"));
  112. user3dayActionFeature.setCtr(record.getString("i_ctr_3day"));
  113. user3dayActionFeature.setStr(record.getString("i_str_3day"));
  114. user3dayActionFeature.setRov(record.getString("i_rov_3day"));
  115. user3dayActionFeature.setRos(record.getString("i_ros_3day"));
  116. itemFeature.setDay3_cnt_features(user1dayActionFeature);
  117. UserActionFeature user7dayActionFeature = new UserActionFeature();
  118. user7dayActionFeature.setExp_cnt(record.getString("i_7day_exp_cnt"));
  119. user7dayActionFeature.setClick_cnt(record.getString("i_7day_click_cnt"));
  120. user7dayActionFeature.setShare_cnt(record.getString("i_7day_share_cnt"));
  121. user7dayActionFeature.setReturn_cnt(record.getString("i_7day_return_cnt"));
  122. user7dayActionFeature.setCtr(record.getString("i_ctr_7day"));
  123. user7dayActionFeature.setStr(record.getString("i_str_7day"));
  124. user7dayActionFeature.setRov(record.getString("i_rov_7day"));
  125. user7dayActionFeature.setRos(record.getString("i_ros_7day"));
  126. itemFeature.setDay7_cnt_features(user1dayActionFeature);
  127. UserActionFeature user3monthActionFeature = new UserActionFeature();
  128. user3monthActionFeature.setExp_cnt(record.getString("i_3month_exp_cnt"));
  129. user3monthActionFeature.setClick_cnt(record.getString("i_3month_click_cnt"));
  130. user3monthActionFeature.setShare_cnt(record.getString("i_3month_share_cnt"));
  131. user3monthActionFeature.setReturn_cnt(record.getString("i_3month_return_cnt"));
  132. user3monthActionFeature.setCtr(record.getString("i_ctr_3month"));
  133. user3monthActionFeature.setStr(record.getString("i_str_3month"));
  134. user3monthActionFeature.setRov(record.getString("i_rov_3month"));
  135. user3monthActionFeature.setRos(record.getString("i_ros_3month"));
  136. itemFeature.setMonth3_cnt_features(user3monthActionFeature);
  137. return itemFeature;
  138. }
  139. }