Kettle 转换与作业
Kettle 转换与作业
写在前面
本文为本人在学习使用kettle进行数据迁移过程中的学习过程记录,仅供参考。
Kettle 的转换与作业
转换(Transformation) 和 作业(Job)是Kettle描述数据转换过程的两个基本部件。
转换更着重于对数据内容进行处理,一个转换中可以包含多个步骤。一般来说,在一个转换中,各个组件是并行执行的。当一个组件的输入流接收到内容时,这个组件便进行工作,并将结果放入到输出流中。
相对而言,作业更加关心更为宏观的数据处理,比如文件和目录操作等等。一个作业可以包含多个作业项。作业和转换均可作为一个作业项,也就是说,一个作业可以包含多个子作业和转换。一个作业中的作业项之间是顺序执行的。对于一个作业项来说,只有当该作业项之前的所有作业项执行完毕后,才会执行该作业项。
为什么要用到作业
在之前,我只使用到了kettle的转换部件。最近我在迁移一个数据库表,需要根据表内的字段找到文件,读取文件内容并写到新数据库中。由于文件数量较多,文件又比较大,如果只使用转换的话,kettle会将文件内容一次性读入到内存里,而这样会超出内存限制,导致转换出错。
那如果我每次只取一条记录,读取一两个文件的内容并写入到数据库中,是不是就能够避免超出内存限制呢?
这种方法是可行的。而要做到每次只取一条记录,需要用到作业。在作业的“转换”和“作业”组件设置中, 有一个“执行每一个输入行”选项,勾选后,每输入一行记录,便执行一次该作业项,与我们上面的设想相符合。
注:据说在转换中一些组件也有“执行每一个输入行”这个选项,但目前我还没见过,实际效果未知。
作业项之间变量的传递
在Kettle中,有丰富的组件实现作业项之间变量的传递。
复制记录到结果(“转换”内组件)
该组件将当前的结果传递给下一个作业项。
复制文件到结果(“转换”内组件)
该组件将一个文件名传递给下一个作业项。
设置变量
该组件可以设置变量,并传递给下一个作业项。
获取变量(“转换”内组件)
该组件可以从上一个作业项中获取变量。
从结果中获取文件(“转换”内组件)
该组件可以从上一个作业项中获取文件名。
从结果中获取记录(“转换”内组件)
该组件可以从上一个作业项中获取相应记录的值。
Kettle 转换与作业相关推荐
- Kettle转换与作业
目录 1.Kettle相关概念 2.转换实操 3.作业实操 1.Kettle相关概念 一个数据抽取过程主要包括创建一个作业,并且每个作业可以包括多个转换操作,此数据抽取过程可以通过kettle工具完成 ...
- kettle转换和作业插件开发及调试
这是一篇几年前写下的文档,最近打算根据这篇文档重写一下kettle插件的教程.结果各种理由,一推再推.今天索性将这篇文档发布出来,分享给大家,例子等有空再补上.这是一篇基于kettle3.2基础上完成 ...
- Kettle转换作业50个案例代码
Kettle转换作业应用脚本 本文是Kettle转换作业微案例相关的脚本(代码)及注释的说明.本项目旨在技术交流与学习,由于本人能力有限,代码中难免有些错误,欢迎留言.私信反馈给我,希望对你有所帮助. ...
- 批量处理作业调度工具Taskctl的Kettle转换作业类型的使用(soap服务驱动)
工具下载:去公众号[taskctl]回复内容 "软件" 即可 TASKCTL默认采用pan命令方式调度kettle转换作业.除此之外,我们还提供了taskctl-plugin-ke ...
- Kettle使用_30 作业里使用参数
Kettle使用_30 作业里使用参数 需求描述 需求:通过Kettle对作业.转换进行参数传递 解决方法:通过环境变量.命名参数.获取系统信息.获取变量等组件对转换进行传值. Kettle步骤 St ...
- 【使用指南】Kettle转换使用教程
#Kettle转换使用教程 ##概述 Kettle是一款国外开源的ETL工具,纯java编写的ETL工具 ,可以在Window.Linux.Unix上运行,绿色无需安装,数据抽取高效稳定.并且Kett ...
- kettlejava脚本的api_[翻译]KETTLE JAVA API :编程定制自己的Kettle转换(transformation)...
本文描述了使用kettle API进行以下操作:1)建立一个新的转换(transformation)...... [翻译]KETTLE JAVA API :编程定制自己的Kettle转换(transf ...
- 吴恩达Coursera深度学习课程 deeplearning.ai (4-4) 神经风格转换--编程作业
吴恩达Coursera深度学习课程 deeplearning.ai (4-4) 神经风格转换–编程作业 注:由于这个作业目前未找到完整的中文版的,所以楼主综合了几篇不完整的,自己完整运行了一遍(pyt ...
- kettle转换中文数据出现乱码
在使用kettle转换数据时,有时会出现中文乱码问题,下面介绍解决办法. 首先先保证你自己创建或连接的数据库是utf-8编码; (1) 设置DB连接,打开kettle中连接的数据库, 在高级中输入se ...
最新文章
- 18DOM之节点操作
- linux ssh Unused,ssh免密码登录 - leopardlinux的个人空间 - OSCHINA - 中文开源技术交流社区...
- ASA对FTP的审查抓包测试
- “科学学”视角下的科研工作者行为研究
- ubuntu(Linux)使用losetup创建虚拟磁盘(挂载,格式化虚拟磁盘,回环设备)
- React 的开发成本太高了?
- #puppet#新版puppet的问题
- 【攻防世界】九、ext3
- 数字化工厂-Process Simulate中的运动学定义
- win10计算机桌面天气,win10电脑桌面显示时间和天气日期怎么设置
- 定制一款铝合金型材的流程
- 三星固态驱动安装失败_三星SSD无法安装Win10无法启动解决方案
- 在mini2440上面搞定CC2500物理层驱动
- 使用idea启动vue项目
- 青客公寓挂牌房源分城市爬取
- 漫谈 | 从52个思考题来看《Linux内核设计的艺术》
- case和for、while循环详解
- 三分钟轻松实现连接西门子PLC
- 龙人直线电话计费系统
- 一个手游外行怎样杀出万分之一创新血路(上篇)
热门文章
- android+仿iphone,Android编程实现仿iphone抖动效果的方法(附源码)
- CG-3D渲染器-0.1
- android加密墙,Android代码混淆加密配置(Proguard文件解析)
- git密钥.pub文件转换为.ppk文件并TortoiseGit配置.ppk
- DeFi基准利率今日为3.38%
- 松下伺服器A4调试软件 适用于A,A3,A4,B,E,S系列
- 我在网络上看到的PDM的概念、定义、优缺点等相关信息
- 射频电路基础简窥之低噪声放大器
- 在VSCode中自定义文件类型和扩展名关联
- IDEA 设置文件关联规则