kettle-8.3.0.0:输入步骤

输入步骤主要分为以下几类:

• 生成记录/自定义常量
• 获取系统信息
• 表输入
• 文本文件输入
• XML 文件输入
• Json输入
• 其他输入步骤

生成记录和自定义常量

1.生成记录

由于生成记录每行都是一样的数据,所以便诞生了自定义常量数据来手工模拟数据

2.自定义常量数据

常用于构造一些测试数据

获取系统信息

获得各类系统信息,常见的包括:
• 转换开始时间。
• 关键时间点信息
• 最多十个命令行参数
• 主机名/ip/进程号/虚拟机内存等
• 上一个作业的完成情况参数

// 固定是整个转换开始的时间

更多系统信息细节,参考相关文档

表输入

表输入是比较常见的输入方式,通过执行SELECT语句,从数据库拉取输入数据,可以使用${}形式使用变量,如果使用?变量,要求前面步骤传过来的参数需要顺序一致。示例表输入配置如下:(按住shift进行组件连接)

上边是单条件筛选,如果是多条件筛选,要勾选 执行每一行,适用情况:对一列进行多条件的判断(如where id>? or name =?)

如果不明白,请参考:Kettle入门操作——输入流(表输入、excel)详细

数据库连接时可能会出现驱动不存在,需要复制mysql-connector到kettle的lib目录下。

 推荐使用JDNI方式进行连接:https://www.cnblogs.com/mq0036/p/9238646.html

JNDI方式有时候稍显不直观,可以通过统一数据源管理的方式:在主对象树DB连接下新建连接(新建转换后即可看到),然后右键->共享即可!

配置变量输入:

文本文件输出查看结果为table_input.txt

数据类型对应关系:

    

文本文件输入

文本文件输入:
              处理有列分隔符(限定符、逃逸字符)的文本文件。
              功能选项丰富、有错误处理机制。
CSV 文件输入:
    简化了文本文件输入
    通过 NIO、并行、延迟转换提高性能
固定宽度:
    列固定宽度的文件,不用解析字符串,性能好。

1.文本文件输入

先看文件这一项:

双击文件节点进入编辑,直接点击浏览进行选择不是很推荐,

推荐使用变量(凡是旁边一个$形状的,都可以根据提示使用变量,内置变量参考:kettle内置变量和属性参考),单击变量,旁边会显示变量的值,可以进行参考。

可以在第一行选择文件或者目录,选择目录则可以在规则表达式进一步通过正则进行控制,然后点击增加,增加文件到选中的文件框中,之后点击显示文件名进行文件选择结果查看。

也可以点击下方从步骤选择文件,继续设置输入的内容页:

// 这里目前不知何解,设置制表符\t字段会识别失败。换成分号;等就正常了

解决方案如下:

使用sublime先安装hexVIew插件,使用插件,点击toggle查看制表符的十六进制,然后分隔符处通过$[],例如制表符查看是09;

则分隔符为:$[09]

字段页通过获取字段查看分割结果:预览记录查看记录结果

错误处理页可以进行相关设置:

过滤页可以进行字段过滤:(例如选择第二列(从0开始位置),含有bb的

2.固定宽度

要求每一行都是固定宽度,然后通过宽度截取

###  XML输入暂不赘述

###  JSON输入暂不赘述

其它输入 

Excel 输入
Access 输入
配置文件输入
SAP 输入
Oracle CDC 增量输入
消息队列输入
PDF文件输入
搜索引擎结果输入

.....

发布了378 篇原创文章 · 获赞 19 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/qq_32252917/article/details/103727665
今日推荐