Browse Source

Merge branch 'dev-xym-add-feature' of algorithm/recommend-emr-dataprocess into feature/20250104-zt-update

xueyiming 2 days ago
parent
commit
1fdd49f0c7

+ 15 - 2
src/main/scala/com/aliyun/odps/spark/examples/makedata_ad/v20240718/makedata_ad_33_bucketDataFromOriginToHive_20250522.scala

@@ -84,7 +84,8 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
       "user_skuid_view_3d", "user_skuid_view_7d", "user_skuid_view_30d",
       "user_skuid_click_3d", "user_skuid_click_7d", "user_skuid_click_30d",
       "user_skuid_conver_3d", "user_skuid_conver_7d", "user_skuid_conver_30d",
-      "is_weekday", "day_of_the_week", "user_conver_ad_class", "category_name")
+      "is_weekday", "day_of_the_week", "user_conver_ad_class", "category_name",
+      "material_md5", "user_layer", "user_class","user_click_ad_class", "user_view_ad_class")
 
 
     // 2 读取odps+表信息
@@ -249,7 +250,7 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
               val reqFeatureKeys = List(
                 "cid", "adid", "adverid", "profession", "region",
                 "city", "is_first_layer", "root_source_scene",
-                "root_source_channel", "brand", "vid", "category_name"
+                "root_source_channel", "brand", "vid", "category_name", "material_md5"
               )
 
               // 使用函数式方式处理所有键
@@ -262,6 +263,12 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
                 }
               }
 
+              if (reqFeature.containsKey("layer_l4")) {
+                featureMap.put("user_layer", reqFeature.getString("layer_l4"))
+              }
+              if (reqFeature.containsKey("clazz_l4")) {
+                featureMap.put("user_class", reqFeature.getString("clazz_l4"))
+              }
               if (b1.containsKey("cpa")) {
                 featureMap.put("cpa", b1.getString("cpa").toDouble)
               }
@@ -362,6 +369,12 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
               if (c1.containsKey("user_conver_ad_class") && c1.getString("user_conver_ad_class") != null) {
                 featureMap.put("user_conver_ad_class", c1.getString("user_conver_ad_class"))
               }
+              if (c1.containsKey("user_click_ad_class") && c1.getString("user_click_ad_class") != null) {
+                featureMap.put("user_click_ad_class", c1.getString("user_click_ad_class"))
+              }
+              if (c1.containsKey("user_view_ad_class") && c1.getString("user_view_ad_class") != null) {
+                featureMap.put("user_view_ad_class", c1.getString("user_view_ad_class"))
+              }
 
               // ui特征
               val midTimeDiff = scala.collection.mutable.Map[String, Double]()