xueyiming 4 周之前
父節點
當前提交
e9413ccf62

+ 9 - 4
src/main/scala/com/aliyun/odps/spark/examples/makedata_ad/v20250813/makedata_ad_33_bucketData_add_Feature_20250813.scala

@@ -54,11 +54,16 @@ object makedata_ad_33_bucketData_add_Feature_20250813 {
 
       // 合并结果
       val result = joined.map { case (adverid, (leftMap, rightOpt)) =>
-        val mergedMap = rightOpt match {
-          case Some(rightMap) => leftMap ++ Map("category_name" -> rightMap.getOrElse("category_name", null))
-          case None => leftMap + ("category_name" -> null)
+        val categoryName = rightOpt match {
+          case Some(rightMap) =>
+            rightMap.get("category_name") match {
+              case Some(value: String) => value  // 确保类型正确
+              case Some(other) => other.toString // 强制转换为字符串
+              case None => null
+            }
+          case None => null
         }
-        mergedMap
+        leftMap + ("category_name" -> categoryName)
       }
 
       odpsOps.saveToTable(project, outputTable, partition, result, write, defaultCreate = true, overwrite = true)