Kettle
.Mr Zhang
这个作者很懒,什么都没留下…
展开
-
自定义分区器插件-案例
kettle自定义分区器 代码实现原创 2020-01-16 13:42:14 · 132 阅读 · 0 评论 -
自定义分区器插件
kettle自定义分区器原创 2020-01-16 12:18:52 · 205 阅读 · 0 评论 -
转换步骤使用分区
kettle在转换中使用分区原创 2020-01-16 11:10:12 · 103 阅读 · 0 评论 -
自定义步骤插件-案例
简要意图:实现一个实时拉取数据处理kafka消费步骤自定义步骤如下:处理流程如下:发到kafka的原始数据如下:结果:搭建好IDEA的Java开发环境。为了节省解决各种依赖关系的时间,而且有些依赖下载太慢,所以不用maven。再者Kettle工作目录里已经有完备的jar包。所以从工作目录data-integration\lib下,拷贝以下jar包到工程中,做好依赖配置最终工...原创 2020-01-13 17:40:02 · 342 阅读 · 0 评论 -
自定义步骤插件
自定义步骤插件需要实现以下四个接口(不指明都在org.pentaho.di.trans.step包下)StepMetaInterface 默认实现类BaseStepMeta说明:维护、校验、序列化配置,提供访问步骤类的入口,影响行布局变化StepDialogInterface 默认实现类org.pentaho.di.ui.trans.step.BaseStepDialog...原创 2020-01-11 15:45:47 · 520 阅读 · 0 评论 -
自定义插件调试设置-IDEA
配置Spoon客户端首先备份Spoon.bat,以防万一,然后文本编辑打开Spoon.bat,找到118行,其开头为if "%PENTAHO_DI_JAVA_OPTIONS%"=="",在其后面追加以下内容:-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,ad...原创 2020-01-11 15:26:41 · 545 阅读 · 0 评论 -
命令行执行
Pan是执行转换的命令行工具Kitchen是执行作业的命令行工具他们都独立于spoon之外。Linux命令格式 pan.sh -option=valueWindows命令格式 pan.bat /option:valueoption列表:version 显示版本信息file 指定ktr文件(value:文件路径)param 指定参数(value格式:key...原创 2020-01-11 15:11:16 · 376 阅读 · 0 评论 -
乱码问题
为了防止乱码问题,以下几个地方需要设置一下Spoon.bat/Spoon.sh添加-Dfile.encoding=UTF-8数据库连接->高级添加set names utf8;数据库连接->高级添加characterEncoding:utf-8...原创 2020-01-11 15:07:05 · 136 阅读 · 0 评论 -
案例四 流式处理(kafka)
意图:从kafka消费数据共200条,进过一系列处理、聚合,输出40条到数据库整个过程分为父转换SRT,子转换SKafkaProcess ,SRT拉取kafka数据,SKafkaProcess 负责处理,大体呈:数据 -> SRT -> SKafkaProcess ->结果。为毛分两个转换,为毛不是一个转换?因为【Kafka consumer】这个步骤配置界面需要输入另一...原创 2020-01-11 14:56:16 · 778 阅读 · 0 评论 -
案例三 数据分发
意图:将数据库表或文本文件中的数据,按照某个列的分发规则,分发到不同的后续步骤中去继续处理处理流程:步骤:原始数据共有a b c三列。分发规则配置,按a列的值进行分流。分发结果:...原创 2020-01-11 13:20:59 · 460 阅读 · 0 评论 -
案例二 数据合并(union操作)
意图:将数据库表或文本文件 与 其他数据库表或文本文件做union操作, 将数据导输出至数据库表或文本文件处理流程:步骤:原创 2020-01-11 13:17:42 · 980 阅读 · 0 评论 -
案例一 数据连接(join操作)
意图:将数据库表或文本文件 与 其他数据库表或文本文件做join(左、右、等值、全join等)操作, 将数据导输出至数据库表或文本文件。处理流程:第一步文本输入第二步将文本输入按id排序第三步读取表数据第四步将表数据按department_id排序第五步将两部分数据通过各自的连接字段做inner join操作第六步输出结果:...原创 2020-01-11 13:15:28 · 176 阅读 · 0 评论 -
高级步骤
【switch/case】解析:按行流中的某一列的值,分发行流到不同的步骤中去分流前分流后【过滤记录】解析:按行流中的某一列的值过滤行过滤前过滤后【分组】解析:把每一行按某一列值作为组key,分组统计,统计类型多个可选,统计值输出分组前分组后类型可选,支持多种分组操作。【执行js脚本】解析:执行js脚本做一些运...原创 2020-01-11 12:52:31 · 111 阅读 · 0 评论 -
其他常用步骤
列拆分为多行步骤解析:将行流中指定的列按指定规则拆分为多行,新数据按新列一次排列去除重复记录步骤解析:将行流中的数据进行去重。是否统计重复行数可选去重前去重后增加常量步骤解析:在行流中多加一列或多列常量值增加前增加后增加序列步骤解析:在行流中加一列序号增加前增加后字段选择/变更步骤解析...原创 2020-01-11 12:45:16 · 170 阅读 · 0 评论 -
常用步骤-排序合并
步骤解析:类似关系数据库将两个表做union操作,这里不限数据库不限文本文件,目标都是两道行流,按某个字段排序合并原创 2020-01-10 10:48:37 · 337 阅读 · 0 评论 -
常用步骤-记录集连接
步骤解析:类似关系数据库将两个表做join操作,这里不限数据库不限文本文件,目标都是两道行流。支持内连接、外连接等第一个步骤选择其中一个行流,比如文本第二个步骤选择另外一个行流,比如数据库表选择连接类型,编辑两个行流的连接字段切记:连接之前的两个步骤都需要进行排序...原创 2020-01-10 10:47:31 · 452 阅读 · 0 评论 -
常用步骤-表输出
步骤解析:将前面步骤处理的行流,输出到数据库表选择数据库连接,选择目标表,勾选指定数据库字段数据库字段页,可以编辑行流中字段与数据库字段的对应关系。可以点【获取字段】以后,再挨个编辑。或者点击输入字段映射逐个设置。...原创 2020-01-10 10:43:02 · 176 阅读 · 0 评论 -
常用步骤-文本文件输出
步骤解析:将前面步骤处理的行流,输出到文本文件选择输出路径设置每列之间的分隔符可以调整每列的格式、类型原创 2020-01-10 10:30:42 · 278 阅读 · 0 评论 -
常用步骤-表输入
步骤解析:将数据库表中数据拉取出来形成行流,供后面步骤处理选择数据库连接,编辑sql点击【预览】可浏览效果原创 2020-01-10 10:27:25 · 109 阅读 · 0 评论 -
常用步骤-文本输入
步骤解析:将文本文件中数据拉取出来形成行流,供后面步骤处理数据示例:双击步骤弹出面板切换至【内容】页,设置分隔符切换至【字段】页,点击获取字段有具体字段显示,说明提取成功...原创 2020-01-10 10:24:40 · 445 阅读 · 0 评论 -
五分钟极速作业入门
创建作业【文件】->新建->作业点击【核心对象】选择【通用】文件夹下,START 和转换并拖到右侧面板,按住shift划线连接它们两。双击start编辑,设置定时任务,每隔15s执行一次job双击转换,设置执行的转换配置点击循环执行...原创 2020-01-10 10:21:07 · 123 阅读 · 0 评论 -
五分钟极速转换入门
新建转换通过菜单【文件】->新建->转换,主目录树下出现新建的转换,右键选中可设置名称。单击,为转换建立数据库连接,填写相关参数。单击,从输入目录下拖【表输入】到右侧转换面板,双击该步骤,并选择数据库连接,编辑sql,确定再从输出目录下拖【文本文件输出】到右侧转换面板,编辑信息,确定Shift按住,选择【表输入】拖到【文本文件输出】,建立节点连接,完...原创 2020-01-10 10:17:50 · 136 阅读 · 0 评论 -
资源库
每次编辑的转换或作业的pipline,保存以后实际上都是一些xml内容的文件。转换以.ktr结尾,作业以.kjb结尾。而用于存放这些转换、作业xml内容的库就叫资源库。Kettle有两种资源库,一种是文本系统资源库,一种是数据库资源库。使用关系型数据库作为共享资源库,可以像svn一样多人同时共享编辑的步骤配置,但是保存或取用某些步骤(比如kafka Comsumer)经常出现各种奇奇怪怪的错误...原创 2020-01-10 10:00:10 · 364 阅读 · 0 评论 -
Kettle准备
安装准备:首先安装Jdk1.8,不建议使用高版本jdk(比如jdk12会爆反射问题),建议使用1.8.0_191。下载地址:https://sourceforge.net/projects/pentaho/files/本文涉及版本是8.3,下载完成后直接解压即可。将数据库连接jar包,比如mysql-connector-java-5.1.45.jar放入kettle工作目录/lib...原创 2020-01-10 09:31:41 · 127 阅读 · 0 评论