فهرست منبع

add score map

jch 5 ماه پیش
والد
کامیت
332331e92e

+ 13 - 1
src/main/scala/com/aliyun/odps/spark/examples/makedata_recsys_r_rate/makedata_recsys_61_originData_20241209.scala

@@ -318,8 +318,9 @@ object makedata_recsys_61_originData_20241209 {
             val labelKey = labels.toString()
             // val featureKey = featureMap.toString()
             val featureKey = truncateDecimal(featureMap).toString()
+            val scoresMap = getSubJson(record, "extend_alg", "scoresMap").toString()
             //6 拼接数据,保存。
-            logKey + "\t" + labelKey + "\t" + featureKey
+            logKey + "\t" + labelKey + "\t" + scoresMap + "\t" + featureKey
 
           })
         })
@@ -408,4 +409,15 @@ object makedata_recsys_61_originData_20241209 {
     d4 = if (tagsList.nonEmpty) d4 / tagsList.size else d4
     (d1, d2.mkString(","), d3, d4)
   }
+
+  def getSubJson(record: Record, key1: String, key2: String): JSONObject = {
+    if (!record.isNull(key1)) {
+      val obj = JSON.parseObject(record.getString(key1))
+      if (obj.nonEmpty && obj.containsKey(key2)) {
+        val data = obj.getString(key2)
+        return JSON.parseObject(data.replace("\\", ""))
+      }
+    }
+    new JSONObject()
+  }
 }