转换内部数据是怎么从一步流到下一步的
有哪些输入、转换、输出步骤最常组合
为什么有些步骤要放在特定顺序
原理讲完,这一章正式动手画转换。它是全册使用频率最高的一章,因为日常 80% 的工作就是拼转换。我们把输入、转换、输出分三节讲,再加一节输出,便于按图索骥。
读完后你能独立搭出一个完整的抽取-清洗-加载转换,知道每个常用步骤该往哪放,也能解释为什么顺序错了会出问题。
| 节 | 关注点 | 交付能力 |
|---|---|---|
| 3.1 | 结构与数据流 | 看懂 hop 含义 |
| 3.2 | 输入步骤 | 接各种源 |
| 3.3 | 转换步骤 | 清洗加工 |
| 3.4 | 输出步骤 | 落各种目标 |
需要第一章的组件认知和第二章的运行时概念。请打开 Spoon,准备跟着画一个读取订单表的小转换。
转换解决「数据怎么洗」,第四章的作业解决「事情什么顺序做」,两者配合才是完整管道。

误区一:把所有清洗都堆在转换里,导致单转换几十个步骤、图成一团线团。我们建议单转换步骤数控制在二十以内,超出就拆子转换由作业串联。
误区二:忽视「输入—转换—输出」三段职责,把控制权逻辑(如判断文件是否存在)混进转换。控制流属于作业,转换只应对数据。
误区三:不写步骤备注。复杂逻辑的「为什么」只存在于原作者脑子里,半年后无人能改。备注讲因果,是评审重点。
第三章教你怎么画转换,但「为什么某步骤慢」要去第六章,「数据从哪连进来」在第五章,「转换被哪个作业调度」在第四章。第三章给的是构件,第四章给的是编排。
读完你能独立画出一个完整的转换:从选定输入、安排转换步骤、到配置输出并验证行数一致。你还能判断某段逻辑该落在输入(下推 SQL)、转换(内存计算)还是输出(批量装载)哪一段,从而在源头控制复杂度。
跳过本章直接上项目,容易把转换画成一团线团:三十个步骤挤在一个图里,改一处牵动全身。我们坚持「输入—转换—输出」三段式,正是让复杂度可控。本章给的是构件,第四章给的是编排,没有构件编排就空谈。
画一个「表输入→字段选择→值映射→表输出」的转换,每加一个步骤就预览一次,确认字段在变、状态在翻译。这个小练习把本章所有核心步骤串了一遍,也是全册最小可运行管道。
落地第一件事:画一个「表输入→字段选择→值映射→表输出」的最小转换,每加一步就预览一次,亲手感受小步预览如何把排错前移。第二件事:当步骤数逼近二十时主动拆子转换,用映射步骤封装复用。这两步让复杂度始终可控,是后续所有清洗的地基。