ETL工具Talend最佳实践
前言
和Talend这款软件打交道有一段时间了,主要用它来做一些ETL相关的作业开发,以下总结了一些自己配置与开发过程中的最佳实践。
最佳实践
- 可以通过修改Talend Studio 的 .ini 配置文件来给其分配更多的内存,例如,以下是我在64位8GB内存的电脑配置的参数
-vmargs -Xms2014m -Xmx4096m -XX:MaxPermSize=512m -Dfile.encoding=UTF-8 |
- 在开发过程中一定要注意对Null值得处理
- 可以创建Repository Metadata用于数据库连接
- 可以使用 t<DB> 的数据连接组件定义数据库连接,并重复使用。
- 记得使用 t<DB> 组件来关闭数据库连接
- 避免在Talend的组件中在使用硬编码值(hard coding),使用Talend context 变量代替
- 尽可能使用变量代替硬编码
- 对于频繁的变换,可以通过创建routines或者functions来减少工作量
- 每次关机前记得保存并关闭Talend Studio!!!
- 尽可能早的使用tFilterColumns组件过滤去不需要的字段/列
- 尽可能早的使用tFilterRows组件过滤去不需要的数据
- 使用Select列表达式从数据库获取数据,尽量避免获取不需要的字段
- 当作业出现OOM错误时,调整JVM的参数,例如修改Xms和Xmx来分配更多的内存
- 通过使用并行化选项来提高作业性能,减少整体的运行时间,如并行化从数据读写数据等
- 给Main job起一个有意义的名字
- 在定义Sub job时,务必第一时间记录子作业的标题、描述和目的。
- 在设计作业尽可能将复杂的作业切割成一个个小作业