xueyiming vor 4 Wochen
Ursprung
Commit
ffa60c3836

+ 7 - 11
src/main/scala/com/aliyun/odps/spark/examples/makedata_ad/v20250813/makedata_ad_33_bucketData_add_Feature_20250813.scala

@@ -108,18 +108,14 @@ object makedata_ad_33_bucketData_add_Feature_20250813 {
     for (i <- 0 until schema.getColumns.size()) {
       val column = schema.getColumn(i)
       val fieldName = column.getName
-      val fieldType = column.getTypeInfo.getTypeName
-
-      val value = fieldType match {
-        case "BIGINT"   => record.getBigint(i).toString
-        case "STRING"   => record.getString(i)
-        case "DOUBLE"   => record.getDouble(i).toString
-        case "BOOLEAN"  => record.getBoolean(i).toString
-        // 添加其他需要的类型
-        case _ => throw new UnsupportedOperationException(s"Unsupported type: $fieldType")
-      }
 
-      fieldMap(fieldName) = value
+      try {
+        val value = record.get(i)
+        fieldMap(fieldName) = if (value == null) null else value.toString
+      } catch {
+        case e: Exception =>
+          throw new RuntimeException(s"Error processing field $fieldName at index $i", e)
+      }
     }
 
     fieldMap.toMap