Why do Spark MLlib models only accept a vector column as input?

User16826992666
Databricks Employee
Databricks Employee

In other libraries I can just use the feature columns themselves as inputs, why do I need to make a vector out of my features when I use MLlib?