Spark ML Pipeline 的引入,是受到 scikit-learn 的启发,虽然 MLlib 已经足够简单实用,但如果目标数据集结构复杂,需要多次处理,或是在学习过程中,要使用多个转化器 (Transformer) 和预测器 (Estimator),这种情况下使用 MLlib 将会让程序结构极其复杂。所以,一个可用于构建复杂机器学习工作流应用的新库已经出现了,它就是 Spark 1.2 版本之后引入的 ML Pipeline。ML Pipeline 是建立在 DataFrames 上的更高层次的 API 库,旨在帮助使用者来创建和调试实际的机器学习工作流。
Pipeline 组件
ML API 使用 Spark SQL 中的 DataFrame 作为机器学习数据集,可以容纳很多种类型的数据:文本、向量、图像和结构化数据等等。Spark DataFrame 以 RDD(Resilient Distributed Datasets) 为基础,但是带有 Schema(数据库中对象的集合)信息,类似于传统数据库中的二维表格。
中文可译作转换器,继承自