前言 在业务中,我们会遇到新老平台的数据迁移工作,如果这个时候表字段还有些许的不一样,那我们肯定不能用表数据导入导出功能了,此时,我们便会需要另一个工具,kettle。...开始 认识kettle Kettle是一款开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。...安装kettle 第一种方式是官网:https://sourceforge.net/projects/pentaho/files/ (但我没找到) 第二种便是我给大家提供:https://pan.baidu.com...pwd=bq9j (百度网盘) 开始使用 安装 在网盘下载的是一个压缩包,我们将它解压在一个目录里(最好是全英文路径)后,在根目录里双击Spoon.bat文件 此时,我们便打开了kettle...接下来和输入的操作一样,配置数据库的相关信息,我这里就不再展示了,因为和刚刚一样 点击目标表后面的浏览,选择你要把数据输入到哪张表里 在 用于查询的关键字 里将两张表的id作为关联 点击下面的编辑配置两张表字段之间的关联关系
2、Kettle简介 Kettle是一款国外开源的ETL工具,纯Java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。...3、kettle的核心组件 4、Kettle的概念模型 Kettle的执行分为两个层次:Job(作业)和Transformation(转换)。...二 安装Kettle 1、kettle下载地址和教程链接: 官网各个版本下载地址:https://sourceforge.net/projects/pentaho/files/Data%20Integration.../ B站2019kettle8.2最新教程:https://www.bilibili.com/video/BV1jE411B7J8 国内kettle论坛网:https://www.kettle.net.cn...4、打开kettle只需要运行spoon.bat,即可打开spoon图形工具: 5、Kettle目录文件介绍 三 常见的kettle报错 1、打开kettle后一闪而过就没了 可能有如下原因:
Kettle的一个重要核心原则就是,在ETL流程中所有未指定的字段都自动被传递到下一个组件。也就是说输入中的字段会自动出现在输出中,除非中间过程特别设置了终止某个字段的传递。...每个步骤在输出数据行时都有对字段的描述,这种描述就是数据行的元数据,通常包括下面一些信息: 名称:行里的字段名应该是唯一的。 数据类型:字段的数据类型。...初始步骤:Kettle在元数据里还记录了字段是由哪个步骤创建的。可以让用户快速定位字段是由转换里的哪个步骤最后一次修改或创建。...就是说:当从多个步骤向一个步骤里写数据时,多个步骤输出的数据行应该有相同的结构,即字段相同、字段数据类型相同、字段顺序相同。 字段元数据不会在转换中发生变化。...所以默认情况下,Kettle使用一个char(1)字段的不同值(如Y或N)来代替Boolean字段。如果选中了这个选项,Kettle就会为支持Boolean类型的数据库生成正确的SQL方言。
本章主要是介绍Kettle的性能优化及效率提升。...一、Kettle调优 1、 调整JVM大小进行性能优化 修改Kettle定时任务中的Kitchen或Pan或Spoon脚本: 修改脚本代码片段 set OPT=-Xmx512m -cp %CLASSPATH...7、延迟转化 很多字段在读入到最后输出,实际上都没有被操作过,开启延迟转化可以让kettle在必要的时候再进行转化。这里的转化是指从二进制到字符串之间的转化,在输入和输出都是文本的时候更为明显。...9、不要在Select Values的步骤删除某个字段 如果在Select Values的步骤删除某个字段,kettle会需要调整现有的存储结构,在可以不删除的时候尽量不要删除字段。...6、优化GROUP BY: group by使用了临时表和排序: Extra 这个字段的Using temporary表示在执行分组的时候使用了临时表 Extra 这个字段的Using filesort
本文要点:Kettle的建立数据库连接、使用kettle进行简单的全量对比插入更新:kettle会自动对比用户设置的对比字段,若目标表不存在该字段,则新插入该条记录。若存在,则更新。...Kettle简介:Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。...(引用百度百科) 1、Kettle的下载与安装(在本文中使用的kettle版本为6.1.0.1-196) kettle的最新下载地址:http://community.pentaho.com/projects.../data-integration/ 2、打开kettle。...到这里,一个简单的通过作业调度的kettle就算做完了。
Carte.bat: 启动web服务,用于 Kettle 的远程运行或集群运行。...Encr.bat: 密码加密 转换和作业: Kettle 的 Spoon 设计器用来设计转换(Transformation)和 作业(Job)。 ...7.添加转换过程 这里添加一个最常用的字段选择,通过节点连接后,点击获取字段可以选择所有,然后在字段列表进行选择: ? ...通过删除选中行(DEL键),过滤指定的字段,预览即可查看转换的结果: ? ...10.计算器案例操作 例如进行一些字段与字段之间的计算或者字段的计算等操作 可以通过搜索找到计算器节点(或者在转换下找),配置如下: ?
Excel Writer 其他(报表、应用) 二、数据库输出 1.表输出 使用SQL的方式向数据库插入数据(INSERT) 支持批量提交 支持分区(Date分区) 支持字段映射...如果选择分区,需要选择Date字段进行分区,并且需要手动创建表(例如按月分区,有201804 201805两个月,则需要创建tb_201804 tb_201805两个表) 2.返回自增主键 表输出的配置如下...3.数据库字段映射 前面步骤可以后后面表输出进行字段映射匹配: 表输出配置如下: ? ...字段映射: 使用猜一猜可以进行名称匹配,如果需要手动匹配,可以左右分别选择,点击Add即可! 并且映射完成之后也可以删除丢弃某些字段 ?...根据一个flag字段执行相应的插入/更新/删除操作。 配置图如下:使用合并后的flag字段(可能有new deleteed等flag),后续再根据此flag,同步变化的数据到表1 ?
背景 Kettle作为用户规模最多的开源ETL工具,强大简洁的功能深受广大ETL从业者的欢迎。但kettle本身的调度监控功能却非常弱。...项目介绍 Kettle调度监控平台(以下简称KS)是一个自主开发的javaweb程序,专门用来调度和监控由kettle客户端创建的job和transformation。...项目源码:GitHub – zhaxiaodong9860/kettle-scheduler: 一款简单易用的Kettle调度监控平台,专门用来调度和监控由kettle客户端创建的job和transformation...# Kettle Properties #绝对路径,用于初始化kettle环境变量(.kettle/kettle.properties所在路径),指向kettle根目录(例如 D:\data-integration...) kettle.home=D:\\data-integration #绝对路径kettle下plugins文件 kettle.plugin=E:\\zhaxiaodong\\apache-tomcat
// 这里目前不知何解,设置制表符\t字段会识别失败。... 解决方案如下: 使用sublime先安装hexVIew插件,使用插件,点击toggle查看制表符的十六进制,然后分隔符处通过$[],例如制表符查看是09; 则分隔符为:$[09] 字段页通过获取字段查看分割结果...过滤页可以进行字段过滤: 例如选择第二列(从0开始位置),含有bb的 ?
> set global time_zone='+8:00'; 方法二: 修改my.ini文件,在[mysqld]加入以下命令: default-time-zone='+8:00' 方法三: 修改kettle
五、配置 Kettle运行环境内的一些因素会影响Kettle的运行方式。这些因素包括配置文件、与Kettle集成在一起的外部软件。我们把这些因素统称为Kettle的配置。 1....配置文件和.kettle目录 Kettle运行环境中有几个文件影响了Kettle的运行情况。...这些文件可以看成是Kettle配置文件,当Kettle做了环境移植或升级时,这些文件也要随之改变,包括: .spoonrc jdbc.properties kettle.properties kettle.pwd...图5 如图中所示,在文件名字段里不再用硬编码路径,而使用了变量的方式{INPUT_PATH}。对任何带有“”符号的输入框都可以使用这种变量的输入方式。...kettle.pwd文件位于Kettle根目录下的pwd目录下。
排序/排重/字段选择 5. 其他转换步骤 二、增加新的列 1.增加常量列 增加一列常量的列 ? 其它增加列的操作大同小异,不一一赘述,只介绍计算器 1....1.同Java的indexOf,左闭右开的形式 2.将一个字段拆分为多个字段,注意配置拆分后接收的字段 ? 3.拆分成多行 类似上面,不过拆分成多行是这样的结果: ?...窄表变宽表的配置:注意理解分组字段的含义 ? ...行转列,参考:https://www.cnblogs.com/OliverQin/p/5871330.html 五、排序/去重/字段选择 1.排序 ?
Java调用Kettle工具方法 这里需要的主要依赖包下面已列出,其他的运行时缺什么补什么就行: pentaho-kettle kettle-core 7.1.0.0-12 pentaho-kettle...= "D:\\kettle"; private static final String KETTLE_KET_DIR = KETTLE_BASE_DIR + "\\ktr"; private static...final String KETTLE_PLUGIN_DIR = KETTLE_BASE_DIR + "\\plugins"; static { try { log.debug("加载Kettle...true)); log.debug("Kettle插件加载成功"); log.debug("初始化Kettle插件环境"); KettleEnvironment.init(); log.debug("Kettle
例如,“价格”和“数量”字段作为输入字段,在转换中根据这两个字段计算出“收入”字段。...Kettle的一个重要核心原则就是,在ETL流程中所有未指定的字段都自动被传递到下一个组件。也就是说输入中的字段会自动出现在输出中,除非中间过程特别设置了终止某个字段的传递。...初始步骤:Kettle在元数据里还记录了字段是由哪个步骤创建的,可以让用户快速定位字段是由转换里的哪个步骤最后一次修改或创建。...许多数据库根本不支持Boolean数据类型,如Oracle和MySQL,所以默认情况下,Kettle使用一个char(1)字段的不同值(如Y或N)来代替Boolean字段。...现在是Kettle一显身手的时候了。Kettle的转换处理数据流,其中有一个“获取文件名”的输入步骤,可以使用它在导入文件数据时添加上文件名字段,而且支持正则表达式同时获取多个文件名,正好适用此场景。
kettle工具使用简明手册 运行启动脚本spoon.bat快捷方式 如果正确启动,则出现的主界面应该是下面这样的。
♂️简介:Kettle 是一款国外开源的 ETL 工具,纯 Java 编写,绿色无需安装,数据抽取高效稳定(数据迁移工具)。...Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制...(更多介绍自行搜索) ?...Kettle中文网:https://www.kettle.net.cn/ ⏬下载地址:https://jaist.dl.sourceforge.net/project/pentaho/Pentaho 9.1...举例子: 第一种:从A表->抽数据到->B表(可不同数据库) 启动kettle step 1:左侧操作区->核心对象Tab->输入->选择“表输入”->拖拽到右侧操作区 step 2:左侧操作区->核心对象...(据此判断插入or更新数据)->“更新字段”(表字段列:要抽取到的目标表字段;流字段列:被抽取的表字段,对应上即可) 陆续更新...
原理Kettle 的工作原理可以分为以下几个关键部分:数据源连接:Kettle 支持多种数据源,包括关系型数据库、文件、Web 服务等。用户可以通过图形界面配置连接信息。...作业(Job):作业是 Kettle 中用于控制转换执行的工具。用户可以定义作业的执行顺序、条件和错误处理等逻辑。...调度与监控:Kettle 允许用户调度作业和转换的执行,并提供监控功能,以便跟踪数据处理的状态和性能。...Kettle 也提供了类似的监控功能,帮助用户跟踪数据处理的状态,确保数据能够及时、准确地加载到目标系统中。...前提工作下载kettle并解压至win上某个路径启动切换至解压路径,找到启动脚本,点击脚本运行
1.打开kettle工具创建一个转换csv_extract,并添加“CSV文件输入”控件,“表输出”控件及Hop跳连接线,用于实现CSV文件数据的抽取功能,具体效果如下图所示: 2.配置CSV文件输入控件...,具体操作如下图所示: 获取字段...1.打开kettle工具创建转换,并添加JSONinput控件。...文件中的数据抽取到数据表json中,执行结果如下图所示: 从上图看出,JSON input控件输入2条数据并写入该控件中,JSON input2控件读取JSON input控件的2条数据的data字段中并获取...6条数据作为输入并写入该控件中,表输出控件读取JSON input控件的2条数据,从这两条数据的data字段共获取6条数据作为输入并写入该控件中,也就是说,表输出控件从JSON input2流中读取6条数据均写入数据表
1.github上面kettle的源码下载地址:https://github.com/pentaho/pentaho-kettle 2.环境准备: 1 Maven, version 3+ 2.Java
领取专属 10元无门槛券
手把手带您无忧上云