|
@@ -506,14 +506,12 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250228 {
|
|
}
|
|
}
|
|
.map {
|
|
.map {
|
|
case (logKey, labelKey, denseFeatures, sparseFeatures) =>
|
|
case (logKey, labelKey, denseFeatures, sparseFeatures) =>
|
|
- val label = JSON.parseObject(labelKey).getOrDefault(whatLabel, "0").toString
|
|
|
|
|
|
+ val labelObject = JSON.parseObject(labelKey)
|
|
|
|
+ val label = labelObject.getOrDefault(whatLabel, "0").toString
|
|
val bucketsMap = bucketsMap_br.value
|
|
val bucketsMap = bucketsMap_br.value
|
|
var resultMap = denseFeatures.collect {
|
|
var resultMap = denseFeatures.collect {
|
|
case (name, score) if !filterNames.exists(name.contains) && score > 1E-8 =>
|
|
case (name, score) if !filterNames.exists(name.contains) && score > 1E-8 =>
|
|
var key = name.replace("*", "_x_").replace("(view)", "_view")
|
|
var key = name.replace("*", "_x_").replace("(view)", "_view")
|
|
- if (key == "ad_is_click") {
|
|
|
|
- key = "has_click"
|
|
|
|
- }
|
|
|
|
val value = if (bucketsMap.contains(name)) {
|
|
val value = if (bucketsMap.contains(name)) {
|
|
val (bucketsNum, buckets) = bucketsMap(name)
|
|
val (bucketsNum, buckets) = bucketsMap(name)
|
|
1.0 / bucketsNum * (ExtractorUtils.findInsertPosition(buckets, score).toDouble + 1.0)
|
|
1.0 / bucketsNum * (ExtractorUtils.findInsertPosition(buckets, score).toDouble + 1.0)
|
|
@@ -525,7 +523,8 @@ object makedata_ad_33_bucketDataFromOriginToHive_20250228 {
|
|
sparseFeatures.foreach(kv => {
|
|
sparseFeatures.foreach(kv => {
|
|
resultMap += (kv._1 -> kv._2)
|
|
resultMap += (kv._1 -> kv._2)
|
|
})
|
|
})
|
|
- resultMap += ("has_conversion" -> label)
|
|
|
|
|
|
+ resultMap += ("has_click" -> labelObject.getString("ad_is_click"))
|
|
|
|
+ resultMap += ("has_conversion" -> labelObject.getString("ad_is_conversion"))
|
|
resultMap += ("logkey" -> logKey)
|
|
resultMap += ("logkey" -> logKey)
|
|
resultMap
|
|
resultMap
|
|
}.coalesce(128)
|
|
}.coalesce(128)
|