类似于如下的操作,根据 key 分组,对每个分组应用 mllib 里的算法训练一个模型
val input = spark.read.load(..) val models = input .groupByKey(x => x.age) .mapGroups{ (k, v) => val subset = v.toList.toDS someModel.fit(subset) }
mllib 的算法好像需要接收 rdd 类型数据,但分组后的数据是 Iterable ?