能否将训练好的Spark ML模型或交叉验证器保存到PostgreSQL数据库?我找到了将其保存到磁盘或HDFS的方法,但能否将其保存到关系数据库管理系统(例如PostgreSQL)的表中?
回答:
一般来说,这是不可能的。机器学习模型使用特定的结构,通过Parquet文件存储模型、元数据和可选的数据。虽然可以创建包装器来将相同的数据存储在关系数据库中,但目前Spark中没有这种功能。
对于某些模型子集,你可以:
- 使用Java序列化来序列化模型。
- 将保存的模型存储为大型对象。
这仅限于非分布式模型。