|
@@ -4,6 +4,9 @@ package examples.dataloader;
|
|
import com.aliyun.odps.account.Account;
|
|
import com.aliyun.odps.account.Account;
|
|
import com.aliyun.odps.account.AliyunAccount;
|
|
import com.aliyun.odps.account.AliyunAccount;
|
|
import com.aliyun.odps.data.Record;
|
|
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.ItemFeature;
|
|
import com.tzld.piaoquan.data.base.RequestContext;
|
|
import com.tzld.piaoquan.data.base.RequestContext;
|
|
import com.tzld.piaoquan.data.base.UserActionFeature;
|
|
import com.tzld.piaoquan.data.base.UserActionFeature;
|
|
@@ -46,118 +49,98 @@ public class AdRedisFeatureConstructor {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- public static UserFeature constructUserFeature(Record record) {
|
|
|
|
- UserFeature userFeature = new UserFeature();
|
|
|
|
- userFeature.setUid(record.get("uid").toString());
|
|
|
|
- userFeature.setUser_cycle_bucket_7days(record.getString("u_cycle_bucket_7days"));
|
|
|
|
- userFeature.setUser_cycle_bucket_30days(record.getString("u_cycle_bucket_30days"));
|
|
|
|
- userFeature.setUser_share_bucket_30days(record.getString("u_share_bucket_30days"));
|
|
|
|
-
|
|
|
|
|
|
+ public static UserAdFeature constructUserFeature(Record record) {
|
|
|
|
+ UserAdFeature userFeature = new UserAdFeature();
|
|
|
|
+ userFeature.setMid(record.get("mids").toString());
|
|
|
|
|
|
// 1day features
|
|
// 1day features
|
|
- UserActionFeature user1dayActionFeature = new UserActionFeature();
|
|
|
|
- user1dayActionFeature.setExp_cnt(record.getString("u_1day_exp_cnt"));
|
|
|
|
- user1dayActionFeature.setClick_cnt(record.getString("u_1day_click_cnt"));
|
|
|
|
- user1dayActionFeature.setShare_cnt(record.getString("u_1day_share_cnt"));
|
|
|
|
- user1dayActionFeature.setReturn_cnt(record.getString("u_1day_return_cnt"));
|
|
|
|
- user1dayActionFeature.setCtr(record.getString("u_ctr_1day"));
|
|
|
|
- user1dayActionFeature.setStr(record.getString("u_str_1day"));
|
|
|
|
- user1dayActionFeature.setRov(record.getString("u_rov_1day"));
|
|
|
|
- user1dayActionFeature.setRos(record.getString("u_ros_1day"));
|
|
|
|
- userFeature.setDay1_cnt_features(user1dayActionFeature);
|
|
|
|
|
|
+ AdActionFeature userAd1dayActionFeature = new AdActionFeature();
|
|
|
|
+ userAd1dayActionFeature.setAdView(record.getString("ad_view_1day"));
|
|
|
|
+ userAd1dayActionFeature.setAdClick(record.getString("ad_click_1day"));
|
|
|
|
+ userAd1dayActionFeature.setAdConversion(record.getString("ad_conversion_1day"));
|
|
|
|
+ userAd1dayActionFeature.setCtr(record.getString("ad_ctr_1day"));
|
|
|
|
+ userAd1dayActionFeature.setCvr(record.getString("ad_cvr_1day"));
|
|
|
|
+ userFeature.setDay1_cnt_features(userAd1dayActionFeature);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
// 3day features
|
|
// 3day features
|
|
- UserActionFeature user3dayActionFeature = new UserActionFeature();
|
|
|
|
- user3dayActionFeature.setExp_cnt(record.getString("u_3day_exp_cnt"));
|
|
|
|
- user3dayActionFeature.setClick_cnt(record.getString("u_3day_click_cnt"));
|
|
|
|
- user3dayActionFeature.setShare_cnt(record.getString("u_3day_share_cnt"));
|
|
|
|
- user3dayActionFeature.setReturn_cnt(record.getString("u_3day_return_cnt"));
|
|
|
|
- user3dayActionFeature.setCtr(record.getString("u_ctr_3day"));
|
|
|
|
- user3dayActionFeature.setStr(record.getString("u_str_3day"));
|
|
|
|
- user3dayActionFeature.setRov(record.getString("u_rov_3day"));
|
|
|
|
- user3dayActionFeature.setRos(record.getString("u_ros_3day"));
|
|
|
|
- userFeature.setDay3_cnt_features(user3dayActionFeature);
|
|
|
|
|
|
+ AdActionFeature userAd3dayActionFeature = new AdActionFeature();
|
|
|
|
+ userAd1dayActionFeature.setAdView(record.getString("ad_view_3day"));
|
|
|
|
+ userAd1dayActionFeature.setAdClick(record.getString("ad_click_3day"));
|
|
|
|
+ userAd1dayActionFeature.setAdConversion(record.getString("ad_conversion_3day"));
|
|
|
|
+ userAd1dayActionFeature.setCtr(record.getString("ad_ctr_3day"));
|
|
|
|
+ userAd1dayActionFeature.setCvr(record.getString("ad_cvr_3day"));
|
|
|
|
+ userFeature.setDay3_cnt_features(userAd3dayActionFeature);
|
|
|
|
+
|
|
|
|
|
|
// 7day features
|
|
// 7day features
|
|
- UserActionFeature user7dayActionFeature = new UserActionFeature();
|
|
|
|
- user7dayActionFeature.setExp_cnt(record.getString("u_7day_exp_cnt"));
|
|
|
|
- user7dayActionFeature.setClick_cnt(record.getString("u_7day_click_cnt"));
|
|
|
|
- user7dayActionFeature.setShare_cnt(record.getString("u_7day_share_cnt"));
|
|
|
|
- user7dayActionFeature.setReturn_cnt(record.getString("u_7day_return_cnt"));
|
|
|
|
- user7dayActionFeature.setCtr(record.getString("u_ctr_7day"));
|
|
|
|
- user7dayActionFeature.setStr(record.getString("u_str_7day"));
|
|
|
|
- user7dayActionFeature.setRov(record.getString("u_rov_7day"));
|
|
|
|
- user7dayActionFeature.setRos(record.getString("u_ros_7day"));
|
|
|
|
- userFeature.setDay7_cnt_features(user7dayActionFeature);
|
|
|
|
|
|
+ AdActionFeature userAd7dayActionFeature = new AdActionFeature();
|
|
|
|
+ userAd1dayActionFeature.setAdView(record.getString("ad_view_7day"));
|
|
|
|
+ userAd1dayActionFeature.setAdClick(record.getString("ad_click7day"));
|
|
|
|
+ userAd1dayActionFeature.setAdConversion(record.getString("ad_conversion_7day"));
|
|
|
|
+ userAd1dayActionFeature.setCtr(record.getString("ad_ctr_7day"));
|
|
|
|
+ userAd1dayActionFeature.setCvr(record.getString("ad_cvr_7day"));
|
|
|
|
+ userFeature.setDay7_cnt_features(userAd7dayActionFeature);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
// 3month features
|
|
// 3month features
|
|
- UserActionFeature user3monthActionFeature = new UserActionFeature();
|
|
|
|
- user3monthActionFeature.setExp_cnt(record.getString("u_3month_exp_cnt"));
|
|
|
|
- user3monthActionFeature.setClick_cnt(record.getString("u_3month_click_cnt"));
|
|
|
|
- user3monthActionFeature.setShare_cnt(record.getString("u_3month_share_cnt"));
|
|
|
|
- user3monthActionFeature.setReturn_cnt(record.getString("u_3month_return_cnt"));
|
|
|
|
- user3monthActionFeature.setCtr(record.getString("u_ctr_3month"));
|
|
|
|
- user3monthActionFeature.setStr(record.getString("u_str_3month"));
|
|
|
|
- user3monthActionFeature.setRov(record.getString("u_rov_3month"));
|
|
|
|
- user3monthActionFeature.setRos(record.getString("u_ros_3month"));
|
|
|
|
- userFeature.setMonth3_cnt_features(user3monthActionFeature);
|
|
|
|
|
|
+ AdActionFeature userAd3MonthActionFeature = new AdActionFeature();
|
|
|
|
+ userAd3MonthActionFeature.setAdView(record.getString("ad_view_3month"));
|
|
|
|
+ userAd3MonthActionFeature.setAdClick(record.getString("ad_click_3month"));
|
|
|
|
+ userAd3MonthActionFeature.setAdConversion(record.getString("ad_conversion_3month"));
|
|
|
|
+ userAd3MonthActionFeature.setCtr(record.getString("ad_ctr_3month"));
|
|
|
|
+ userAd3MonthActionFeature.setCvr(record.getString("ad_cvr_3month"));
|
|
|
|
+ userFeature.setMonth3_cnt_features(userAd3MonthActionFeature);
|
|
|
|
+
|
|
|
|
|
|
return userFeature;
|
|
return userFeature;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- public static ItemFeature constructItemFeature(Record record) {
|
|
|
|
- ItemFeature itemFeature = new ItemFeature();
|
|
|
|
- itemFeature.setVideoId(record.getString("videoid"));
|
|
|
|
- itemFeature.setUpId(record.getString("uid"));
|
|
|
|
- itemFeature.setTitleLength(record.getString("i_title_len"));
|
|
|
|
- itemFeature.setPlayLength(record.getString("i_play_len"));
|
|
|
|
- itemFeature.setTotalTime(record.getString("total_time"));
|
|
|
|
- itemFeature.setDaysSinceUpload(record.getString("i_days_since_upload"));
|
|
|
|
-
|
|
|
|
- UserActionFeature user1dayActionFeature = new UserActionFeature();
|
|
|
|
- user1dayActionFeature.setExp_cnt(record.getString("i_1day_exp_cnt"));
|
|
|
|
- user1dayActionFeature.setClick_cnt(record.getString("i_1day_click_cnt"));
|
|
|
|
- user1dayActionFeature.setShare_cnt(record.getString("i_1day_share_cnt"));
|
|
|
|
- user1dayActionFeature.setReturn_cnt(record.getString("i_1day_return_cnt"));
|
|
|
|
- user1dayActionFeature.setCtr(record.getString("i_ctr_1day"));
|
|
|
|
- user1dayActionFeature.setStr(record.getString("i_str_1day"));
|
|
|
|
- user1dayActionFeature.setRov(record.getString("i_rov_1day"));
|
|
|
|
- user1dayActionFeature.setRos(record.getString("i_ros_1day"));
|
|
|
|
- itemFeature.setDay1_cnt_features(user1dayActionFeature);
|
|
|
|
-
|
|
|
|
- UserActionFeature user3dayActionFeature = new UserActionFeature();
|
|
|
|
- user3dayActionFeature.setExp_cnt(record.getString("i_3day_exp_cnt"));
|
|
|
|
- user3dayActionFeature.setClick_cnt(record.getString("i_3day_click_cnt"));
|
|
|
|
- user3dayActionFeature.setShare_cnt(record.getString("i_3day_share_cnt"));
|
|
|
|
- user3dayActionFeature.setReturn_cnt(record.getString("i_3day_return_cnt"));
|
|
|
|
- user3dayActionFeature.setCtr(record.getString("i_ctr_3day"));
|
|
|
|
- user3dayActionFeature.setStr(record.getString("i_str_3day"));
|
|
|
|
- user3dayActionFeature.setRov(record.getString("i_rov_3day"));
|
|
|
|
- user3dayActionFeature.setRos(record.getString("i_ros_3day"));
|
|
|
|
- itemFeature.setDay3_cnt_features(user1dayActionFeature);
|
|
|
|
-
|
|
|
|
- UserActionFeature user7dayActionFeature = new UserActionFeature();
|
|
|
|
- user7dayActionFeature.setExp_cnt(record.getString("i_7day_exp_cnt"));
|
|
|
|
- user7dayActionFeature.setClick_cnt(record.getString("i_7day_click_cnt"));
|
|
|
|
- user7dayActionFeature.setShare_cnt(record.getString("i_7day_share_cnt"));
|
|
|
|
- user7dayActionFeature.setReturn_cnt(record.getString("i_7day_return_cnt"));
|
|
|
|
- user7dayActionFeature.setCtr(record.getString("i_ctr_7day"));
|
|
|
|
- user7dayActionFeature.setStr(record.getString("i_str_7day"));
|
|
|
|
- user7dayActionFeature.setRov(record.getString("i_rov_7day"));
|
|
|
|
- user7dayActionFeature.setRos(record.getString("i_ros_7day"));
|
|
|
|
- itemFeature.setDay7_cnt_features(user1dayActionFeature);
|
|
|
|
-
|
|
|
|
- UserActionFeature user3monthActionFeature = new UserActionFeature();
|
|
|
|
- user3monthActionFeature.setExp_cnt(record.getString("i_3month_exp_cnt"));
|
|
|
|
- user3monthActionFeature.setClick_cnt(record.getString("i_3month_click_cnt"));
|
|
|
|
- user3monthActionFeature.setShare_cnt(record.getString("i_3month_share_cnt"));
|
|
|
|
- user3monthActionFeature.setReturn_cnt(record.getString("i_3month_return_cnt"));
|
|
|
|
- user3monthActionFeature.setCtr(record.getString("i_ctr_3month"));
|
|
|
|
- user3monthActionFeature.setStr(record.getString("i_str_3month"));
|
|
|
|
- user3monthActionFeature.setRov(record.getString("i_rov_3month"));
|
|
|
|
- user3monthActionFeature.setRos(record.getString("i_ros_3month"));
|
|
|
|
- itemFeature.setMonth3_cnt_features(user3monthActionFeature);
|
|
|
|
|
|
+ public static AdItemFeature constructItemFeature(Record record) {
|
|
|
|
+ AdItemFeature itemFeature = new AdItemFeature();
|
|
|
|
+ itemFeature.setAdId(record.getString("adid"));
|
|
|
|
+ itemFeature.setCampaignId(record.getString("campaignid"));
|
|
|
|
+ itemFeature.setAdvertiserId(record.getString("advertiserid"));
|
|
|
|
+ itemFeature.setCreativeId(record.getString("creativeid"));
|
|
|
|
+
|
|
|
|
+ // ad 维度特征
|
|
|
|
+ AdActionFeature adIdActionFeature1day = new AdActionFeature();
|
|
|
|
+ adIdActionFeature1day.setAdView(record.getString("view_ad_1day"));
|
|
|
|
+ adIdActionFeature1day.setAdClick(record.getString("click_ad_1day"));
|
|
|
|
+ adIdActionFeature1day.setAdConversion(record.getString("conversion_ad_1day"));
|
|
|
|
+ adIdActionFeature1day.setCtr(record.getString("ctr_ad_1day"));
|
|
|
|
+ adIdActionFeature1day.setCvr(record.getString("cvr_ad_1day"));
|
|
|
|
+ itemFeature.setDay1_cnt_features(adIdActionFeature1day);
|
|
|
|
+
|
|
|
|
+ AdActionFeature adIdActionFeature3day = new AdActionFeature();
|
|
|
|
+ adIdActionFeature3day.setAdView(record.getString("view_ad_3day"));
|
|
|
|
+ adIdActionFeature3day.setAdClick(record.getString("click_ad_3day"));
|
|
|
|
+ adIdActionFeature3day.setAdConversion(record.getString("conversion_ad_3day"));
|
|
|
|
+ adIdActionFeature3day.setCtr(record.getString("ctr_ad_3day"));
|
|
|
|
+ adIdActionFeature3day.setCvr(record.getString("cvr_ad_3day"));
|
|
|
|
+ itemFeature.setDay7_cnt_features(adIdActionFeature3day);
|
|
|
|
+
|
|
|
|
+ AdActionFeature adIdActionFeature7day = new AdActionFeature();
|
|
|
|
+ adIdActionFeature7day.setAdView(record.getString("view_ad_7day"));
|
|
|
|
+ adIdActionFeature7day.setAdClick(record.getString("click_ad_7day"));
|
|
|
|
+ adIdActionFeature7day.setAdConversion(record.getString("conversion_ad_7day"));
|
|
|
|
+ adIdActionFeature7day.setCtr(record.getString("ctr_ad_7day"));
|
|
|
|
+ adIdActionFeature7day.setCvr(record.getString("cvr_ad_7day"));
|
|
|
|
+ itemFeature.setDay7_cnt_features(adIdActionFeature7day);
|
|
|
|
+
|
|
|
|
+ AdActionFeature adIdActionFeature3month = new AdActionFeature();
|
|
|
|
+ adIdActionFeature3month.setAdView(record.getString("view_ad_7day"));
|
|
|
|
+ adIdActionFeature3month.setAdClick(record.getString("click_ad_7day"));
|
|
|
|
+ adIdActionFeature3month.setAdConversion(record.getString("conversion_ad_7day"));
|
|
|
|
+ adIdActionFeature3month.setCtr(record.getString("ctr_ad_7day"));
|
|
|
|
+ adIdActionFeature3month.setCvr(record.getString("cvr_ad_7day"));
|
|
|
|
+ itemFeature.setDay7_cnt_features(adIdActionFeature7day);
|
|
|
|
+
|
|
|
|
+ // TODO campaignId等维度特征
|
|
|
|
+
|
|
return itemFeature;
|
|
return itemFeature;
|
|
}
|
|
}
|
|
|
|
|