我正在使用 Spark Mllib 为我的数据生成预测,然后以 Avro 格式将它们存储到 HDFS:
val dataPredictions = myModel.transform(myData)
val output = dataPredictions.select("is", "probability", "prediction")
output.write.format("com.databricks.spark.avro").save(path)
我收到以下异常:
com.databricks.spark.avro.SchemaConverters$IncompatibleSchemaException:
Unexpected type org.apache.spark.ml.linalg.VectorUDT@3bfc3ba7.
我的理解是“预测”列格式不能序列化为 Avro。
- 如何将 VectorUDT 转换为数组,以便在 Avro 中对其进行序列化?
- 有没有更好的选择(我无法摆脱 Avro 格式)?