|
@@ -249,7 +249,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 +262,12 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250522 {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if (reqFeature.containsKey("layer_l4")) {
|
|
|
+ featureMap.put("user_layer", reqFeature.getString("user_layer"))
|
|
|
+ }
|
|
|
+ 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 +368,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]()
|