|
@@ -41,7 +41,7 @@ object makedata_ad_33_bucketDataFromOriginToHive_20260703 {
|
|
|
val idDefaultValue = param.getOrElse("idDefaultValue", "1.0").toDouble
|
|
val idDefaultValue = param.getOrElse("idDefaultValue", "1.0").toDouble
|
|
|
val filterNames = param.getOrElse("filterNames", "").split(",").filter(_.nonEmpty).toSet
|
|
val filterNames = param.getOrElse("filterNames", "").split(",").filter(_.nonEmpty).toSet
|
|
|
val filterAdverIds = param.getOrElse("filterAdverIds", "").split(",").filter(_.nonEmpty).toSet
|
|
val filterAdverIds = param.getOrElse("filterAdverIds", "").split(",").filter(_.nonEmpty).toSet
|
|
|
- val whatLabel = param.getOrElse("whatLabel", "ad_is_conversion")
|
|
|
|
|
|
|
+// val whatLabel = param.getOrElse("whatLabel", "ad_is_conversion")
|
|
|
val negSampleRate = param.getOrElse("negSampleRate", "1").toDouble
|
|
val negSampleRate = param.getOrElse("negSampleRate", "1").toDouble
|
|
|
// 分割样本集的比例,splitRate部分输出至outputTable,补集输出至outputTable2(如果outputTable2不为空)
|
|
// 分割样本集的比例,splitRate部分输出至outputTable,补集输出至outputTable2(如果outputTable2不为空)
|
|
|
val splitRate = param.getOrElse("splitRate", "0.9").toDouble
|
|
val splitRate = param.getOrElse("splitRate", "0.9").toDouble
|
|
@@ -166,8 +166,12 @@ object makedata_ad_33_bucketDataFromOriginToHive_20260703 {
|
|
|
!filterAdverIds.contains(adverId)
|
|
!filterAdverIds.contains(adverId)
|
|
|
})
|
|
})
|
|
|
.filter(record => {
|
|
.filter(record => {
|
|
|
- val label = getJsonObject(record, "label_json").getString(whatLabel).toInt
|
|
|
|
|
- label > 0 || Random.nextDouble() < negSampleRate
|
|
|
|
|
|
|
+ val has_scan_label = getJsonObject(record, "label_json").getString("ad_is_scan").toInt
|
|
|
|
|
+ val has_addwechat_label = getJsonObject(record, "label_json").getString("ad_is_addwechat").toInt
|
|
|
|
|
+ val has_conversion_label = getJsonObject(record, "label_json").getString("ad_is_conversion").toInt
|
|
|
|
|
+ val label = has_scan_label > 0 || has_addwechat_label > 0 || has_conversion_label > 0
|
|
|
|
|
+
|
|
|
|
|
+ label || Random.nextDouble() < negSampleRate
|
|
|
})
|
|
})
|
|
|
.map(record => {
|
|
.map(record => {
|
|
|
val featureMap = new JSONObject()
|
|
val featureMap = new JSONObject()
|
|
@@ -715,14 +719,13 @@ object makedata_ad_33_bucketDataFromOriginToHive_20260703 {
|
|
|
val labels = new JSONObject
|
|
val labels = new JSONObject
|
|
|
val landing = featureMap.getString("landing")
|
|
val landing = featureMap.getString("landing")
|
|
|
val labelJson: JSONObject = getJsonObject(record, "label_json") // label_json
|
|
val labelJson: JSONObject = getJsonObject(record, "label_json") // label_json
|
|
|
-
|
|
|
|
|
if (!labelJson.isEmpty) {
|
|
if (!labelJson.isEmpty) {
|
|
|
labels.put("has_scan", labelJson.getInteger("ad_is_scan"))
|
|
labels.put("has_scan", labelJson.getInteger("ad_is_scan"))
|
|
|
labels.put("has_addwechat", labelJson.getInteger("ad_is_addwechat"))
|
|
labels.put("has_addwechat", labelJson.getInteger("ad_is_addwechat"))
|
|
|
labels.put("has_scan_addwechat", labelJson.getInteger("ad_is_addwechat"))
|
|
labels.put("has_scan_addwechat", labelJson.getInteger("ad_is_addwechat"))
|
|
|
if (landing == "3") {
|
|
if (landing == "3") {
|
|
|
labels.put("is_landing3", 1)
|
|
labels.put("is_landing3", 1)
|
|
|
- if (labelJson.getIntValue("ad_is_scan") == 1) {
|
|
|
|
|
|
|
+ if (labelJson.getIntValue("ad_is_scan") == 1 && targetingConversion == "10004") {
|
|
|
labels.put("is_landing3_with_has_scan", 1)
|
|
labels.put("is_landing3_with_has_scan", 1)
|
|
|
} else {
|
|
} else {
|
|
|
labels.put("is_landing3_with_has_scan", 0)
|
|
labels.put("is_landing3_with_has_scan", 0)
|