Spark 3.0 - 4.Pipeline 管道的工作流程

本文详细介绍了Spark 3.0中的Pipeline工作流程,包括基本组件如DataFrame、Transformer、Estimator,以及Pipeline的构建与配置。通过Pipeline将数据处理、特征提取和模型训练串联起来,演示了训练Pipeline(Estimator)和预测Pipeline(Transformer)的创建过程,强调了ParamMap在参数管理中的作用。最后,讨论了Pipeline的优点及其在实际应用中的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.引言

二.基本组件

三.Pipeline 基本流程

1.训练 Pipeline - Estimator

2.预测 Pipeline - Transformer

四.Pipeline 分解与构造

1.DataFrame

2.Transformer1 - Tokenizer

3.Transformer2 - HashingTF

4.Estimator - LR 

5.Pipeline With ParamMap - Estimator

5.1.配置 Pipeline

5.2.配置 ParamMap

5.3 Pipeline.fit

6.Pipeline With ParamMap - Transformer

6.1 模型存储与加载

6.2 Model transformer

7.完整代码

五.总结


一.引言

Spark ML 使用管道 Pipeline 就像 Python Sklearn 一样,可以把多个步骤例如 特征处理 -> 特征提取 -> 模型训练 等联结起来,让数据在 Pipeline 中流动。有了 Pipeline 之后,ML 更适合创建包含从数据清洗到特征工程再到模型训练等一系列流程中,无论什么模型都提供了统一的算法操作接口即 fit(),下面让我们看下管道的基本组件与流程示例。

二.基本组件

- DataFrame

数据源,也是 Spark Sql 中的概念,可以容纳多种数据类型用来保存数据。例如,一个 DataFrame 可以存储文本、标签、特征向量等不同列。可以说 ML 的所有基本 API 最终都需要以源头的 DataFrame 数据为主。

- Transformer

转换器,和 Spark、Flink 里的 Transformer 类似,例如 RDD -> RDD、DataStream -> DataStream,这里 Transformer 负责将 DataFrame 转换为

03-21
### 关于 Mycat 数据库中间件 #### 什么是 MycatMycat 是一款开源的分布式数据库系统,作为数据库中间件,主要用于解决大数据场景下的读写分离、分库分表等问题[^5]。它可以像 MySQL 一样被使用,开发者只需在 Mycat 中配置具体的分库分表策略即可完成复杂的数据管理任务[^1]。 #### Mycat 的主要功能特性 Mycat 提供了一系列强大的功能来提升数据库性能和可扩展性: - **分布式架构**:支持分片(Sharding)、读写分离,从而显著提高数据库处理能力和并发量。 - **高可用性**:具备主备切换以及故障自动恢复的能力,保障系统的稳定运行。 - **动态数据路由**:能根据实际业务需求灵活调整分片策略,满足不同应用场景的需求。 - **多协议兼容**:除了支持 MySQL 外,还兼容 MariaDB、Oracle 和 SQL Server 等多种数据库系统[^3]。 #### 安装与环境准备 为了成功部署并使用 Mycat,需按照以下指导进行操作: 1. 准备好 Java 运行环境(JDK 版本建议为 1.8 或更高版本),因为 Mycat 基于 Java 编写而成[^2]。 2. 下载官方发布的最新版 Mycat 软件包,并解压至目标目录下。 3. 修改 `server.xml` 文件中的相关参数设置,比如监听端口号,默认情况下为 `8066`;同时定义逻辑数据库名称及其对应的物理节点信息。 4. 启动服务进程并通过命令行工具或者图形界面访问验证连接状态正常与否。 #### 查询示例 当一切就绪之后,在日常开发过程中可以通过如下方式发起简单的查询请求: ```sql SELECT * FROM user; ``` 此条语句会经由 Mycat 解析后转发给相应的后台存储引擎执行完毕再返回结果集给前端调用方[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BIT_666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值