Flink-ML 介绍
ML 是 Machine Learning 的简称,Flink-ML 是 Flink 的机器学习类库。在 Flink 1.9 之前该类库是存在 flink-libraries
模块下的,但是在 Flink 1.9 版本中,为了支持 FLIP-39 ,所以该类库被移除了。
建立 FLIP-39 的目的主要是增强 Flink-ML 的可伸缩性和易用性。通常使用机器学习的有两类人,一类是机器学习算法库的开发者,他们需要一套标准的 API 来实现算法,每个机器学习算法会在这些 API 的基础上实现;另一类用户是直接利用这些现有的机器学习算法库去训练数据模型,整个训练是要通过很多转换或者算法才能完成的,所以如果能够提供 ML Pipeline,那么对于后一类用户来说绝对是一种福音。虽然在 1.9 中移除了之前的 Flink-ML 模块,但是在 Flink 项目下出现了一个 flink-ml-parent
的模块,该模块有两个子模块 flink-ml-api
和 flink-ml-lib
。
flink-ml-api
模块增加了 ML Pipeline 和 MLLib 的接口,它的类结构图如下:
Transformer: Transformer 是一种