“Kettle输入步骤”的版本间的差异
第17行: | 第17行: | ||
== 生成记录和自定义常量 == | == 生成记录和自定义常量 == | ||
[[文件:Ct3-1.png|无框]] | |||
=== 生成记录 === | === 生成记录 === | ||
[[文件:Ct3-2.png|无框|677x677像素]] | |||
由于生成记录每行都是一样的数据,所以便诞生了自定义常量数据来手工模拟数据 | 由于生成记录每行都是一样的数据,所以便诞生了自定义常量数据来手工模拟数据 | ||
=== 自定义常量数据 === | === 自定义常量数据 === | ||
[[文件:Ct3-3.png|无框|677x677像素]] | |||
常用于构造一些测试数据 | 常用于构造一些测试数据 | ||
第38行: | 第38行: | ||
* 上一个作业的完成情况参数 | * 上一个作业的完成情况参数 | ||
[[文件:Ct3-4.png|无框]] | |||
// 固定是整个转换开始的时间 | // 固定是整个转换开始的时间 | ||
[[文件:Ct3-5.png|无框|589x589像素]] | |||
== 表输入 == | == 表输入 == | ||
第51行: | 第51行: | ||
示例表输入配置如下:(按住shift进行组件连接) | 示例表输入配置如下:(按住shift进行组件连接) | ||
[[文件:Ct3-6.png|无框|337x337像素]] | |||
[[文件:Ct3-7.png|无框|701x701像素]] | |||
数据库连接时可能会出现驱动不存在,需要复制mysql-connector到lib目录下 | 数据库连接时可能会出现驱动不存在,需要复制mysql-connector到lib目录下 | ||
(如果kettle重装等可能会出现配置读取冲突等问题,可以在C:/用户/xx/.kettle下) | (如果kettle重装等可能会出现配置读取冲突等问题,可以在C:/用户/xx/.kettle下) | ||
'''推荐使用JDNI方式进行连接''' | '''推荐使用JDNI方式进行连接''' | ||
[[文件:Ct3-8.png|无框|694x694像素]] | |||
连接名称是为了在转换中好选择进行填写的,填什么都行,我是与JNDI名称相同。JNDI的配置文件在Kettle工具文件夹的根目录下里的simple-jndi里: | 连接名称是为了在转换中好选择进行填写的,填什么都行,我是与JNDI名称相同。JNDI的配置文件在Kettle工具文件夹的根目录下里的simple-jndi里: | ||
[[文件:Ct3-9.png|无框|566x566像素]] | |||
为了方便,我加了不同的后缀以作区分,使用时再改名。真正生效的只有jdbc.properties,里面内容如下: | 为了方便,我加了不同的后缀以作区分,使用时再改名。真正生效的只有jdbc.properties,里面内容如下: | ||
[[文件:Ct3-10.png|无框|629x629像素]] | |||
看到这个突然想起来有件重要的事情没有说,相关的数据库连接驱动,要放在data-integration目录下的lib文件夹内,否则测试连接报错。 | 看到这个突然想起来有件重要的事情没有说,相关的数据库连接驱动,要放在data-integration目录下的lib文件夹内,否则测试连接报错。 | ||
第80行: | 第79行: | ||
JNDI方式有时候稍显不直观,可以通过统一数据源管理的方式:在主对象树DB连接下新建连接(新建转换后即可看到),然后右键->共享即可! | JNDI方式有时候稍显不直观,可以通过统一数据源管理的方式:在主对象树DB连接下新建连接(新建转换后即可看到),然后右键->共享即可! | ||
[[文件:Ct3-11.png|无框|486x486像素]] | |||
配置变量输入: | 配置变量输入: | ||
[[文件:Ct3-12.png|无框|509x509像素]] | |||
数据类型对应关系: | 数据类型对应关系: | ||
[[文件:Ct3-13.png|无框|647x647像素]] | |||
== 文本文件输入 == | == 文本文件输入 == | ||
[[文件:Ct3-14.png|无框]] | |||
文本文件输入: | 文本文件输入: | ||
第106行: | 第105行: | ||
=== 文本文件输入 === | === 文本文件输入 === | ||
先看文件这一项: | |||
[[文件:Ct3-15.png|无框|638x638像素]] | |||
双击文件节点进入编辑,直接点击浏览进行选择不是很推荐, | 双击文件节点进入编辑,直接点击浏览进行选择不是很推荐, | ||
第120行: | 第121行: | ||
继续设置输入的内容页: | 继续设置输入的内容页: | ||
[[文件:Ct3-16.png|无框|681x681像素]] | |||
// 这里目前不知何解,设置制表符\t字段会识别失败。换成分号;等就正常了。解决方案如下: | // 这里目前不知何解,设置制表符\t字段会识别失败。换成分号;等就正常了。解决方案如下: | ||
第130行: | 第131行: | ||
字段页通过获取字段查看分割结果:预览记录查看记录结果 | 字段页通过获取字段查看分割结果:预览记录查看记录结果 | ||
[[文件:Ct3-17.png|无框|636x636像素]] | |||
错误处理页可以进行相关设置: | 错误处理页可以进行相关设置: | ||
[[文件:Ct3-18.png|无框|712x712像素]] | |||
过滤页可以进行字段过滤: | 过滤页可以进行字段过滤: | ||
第140行: | 第141行: | ||
例如选择第二列(从0开始位置),含有bb的 | 例如选择第二列(从0开始位置),含有bb的 | ||
[[文件:Ct3-19.png|无框|413x413像素]] | |||
=== 固定宽度 === | === 固定宽度 === |
2021年10月29日 (五) 02:19的最新版本
输入步骤概述
输入步骤主要分为以下几类:
• 生成记录/自定义常量
• 获取系统信息
• 表输入
• 文本文件输入
• XML 文件输入
• Json输入
• 其他输入步骤
生成记录和自定义常量
生成记录
由于生成记录每行都是一样的数据,所以便诞生了自定义常量数据来手工模拟数据
自定义常量数据
常用于构造一些测试数据
获取系统信息
获得各类系统信息,常见的包括:
- 转换开始时间。
- 关键时间点信息
- 最多十个命令行参数
- 主机名/ip/进程号/虚拟机内存等
- 上一个作业的完成情况参数
// 固定是整个转换开始的时间
表输入
表输入是比较常见的输入方式,通过执行SELECT语句,从数据库拉取输入数据
可以使用${}形式使用变量,如果使用?变量,要求前面步骤传过来的参数需要顺序一致
示例表输入配置如下:(按住shift进行组件连接)
数据库连接时可能会出现驱动不存在,需要复制mysql-connector到lib目录下
(如果kettle重装等可能会出现配置读取冲突等问题,可以在C:/用户/xx/.kettle下)
推荐使用JDNI方式进行连接
连接名称是为了在转换中好选择进行填写的,填什么都行,我是与JNDI名称相同。JNDI的配置文件在Kettle工具文件夹的根目录下里的simple-jndi里:
为了方便,我加了不同的后缀以作区分,使用时再改名。真正生效的只有jdbc.properties,里面内容如下:
看到这个突然想起来有件重要的事情没有说,相关的数据库连接驱动,要放在data-integration目录下的lib文件夹内,否则测试连接报错。
这三个配置分别对应了只读库,中间库,报表库,具体配置不做赘述。如此在数据库连接中,选择JNDI,填入正确的JNDI名称(如TBIN)即可使用。
这种方式的好处是在转换中需要填写的配置只有个名称而已,修改起来也只需要改变配置,切换环境十分方便。缺点如前所言,如果修改了配置文件,还需要重启spoon才能生效
JNDI方式有时候稍显不直观,可以通过统一数据源管理的方式:在主对象树DB连接下新建连接(新建转换后即可看到),然后右键->共享即可!
配置变量输入:
数据类型对应关系:
文本文件输入
文本文件输入:
处理有列分隔符(限定符、逃逸字符)的文本文件。
功能选项丰富、有错误处理机制。
CSV 文件输入:
简化了文本文件输入
通过 NIO、并行、延迟转换提高性能 。--固定宽度:列固定宽度的文件,不用解析字符串,性能好。
文本文件输入
先看文件这一项:
双击文件节点进入编辑,直接点击浏览进行选择不是很推荐,
推荐使用变量(凡是旁边一个$形状的,都可以根据提示使用变量,内置变量参考这里),单击变量,旁边会显示变量的值,可以进行参考
可以在第一行选择文件或者目录,选择目录则可以在规则表达式进一步通过正则进行控制
然后点击增加,增加文件到选中的文件框中,之后点击显示文件名进行文件选择结果查看
也可以点击下方从步骤选择文件
继续设置输入的内容页:
// 这里目前不知何解,设置制表符\t字段会识别失败。换成分号;等就正常了。解决方案如下:
使用sublime先安装hexVIew插件,使用插件,点击toggle查看制表符的十六进制,然后分隔符处通过$[],例如制表符查看是09;
则分隔符为:$[09]
字段页通过获取字段查看分割结果:预览记录查看记录结果
错误处理页可以进行相关设置:
过滤页可以进行字段过滤:
例如选择第二列(从0开始位置),含有bb的
固定宽度
要求每一行都是固定宽度,然后通过宽度截取
其它输入
Excel 输入
Access 输入
配置文件输入
SAP 输入
Oracle CDC 增量输入
消息队列输入
PDF文件输入
搜索引擎结果输入