|
@@ -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]()
|