xueyiming 3 дней назад
Родитель
Сommit
63ac4d56e0

+ 11 - 6
src/main/scala/com/aliyun/odps/spark/examples/makedata_ad/v20240718/makedata_ad_33_bucketDataFromOriginToHive_20260703.scala

@@ -166,12 +166,17 @@ object makedata_ad_33_bucketDataFromOriginToHive_20260703 {
               !filterAdverIds.contains(adverId)
             })
             .filter(record => {
-              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
+              val labelJson = getJsonObject(record, "label_json")
+              val extendAlg = getJsonObject(record, "extend_alg")
+              val hasScanLabel = labelJson.getString("ad_is_scan").toInt
+              val hasConversionLabel = labelJson.getString("ad_is_conversion").toInt
+              val isLanding3 = extendAlg.getString("landing_page_type") == "3"
+              val randVal = Random.nextDouble()
+              if (isLanding3) {
+                (hasScanLabel > 0) || (randVal < negSampleRate)
+              } else {
+                hasConversionLabel > 0 || (randVal < negSampleRate)
+              }
             })
             .map(record => {
               val featureMap = new JSONObject()