首先声明一下,我也是跟照网上教学自学的很基础,还有很多组件期待你的研究
先介绍一下
ETL具体指:1.抽取(extract)2.交互转换(transform).3.加载(load)
kettle是一个实现etl开发的一个开发工具,类似java开发过程中的eclipse工具
我用的是mysql,一共有三张表stu1(id,name,age),stu2(id,name),test(tid,tname,tage)
先做的是把stu1的数据同步到stu2
新创建表输入创建mysql连接(可能会报错: 需要把mysql驱动包加入到kettle的lib下 然后重启)连接成功
编写sql查询stu1语句,新建输出按住shift关联插入/更新
双击,浏览选择目标表,关联字段左为stu2目标表,右为流stu1表,用来查询的关键字中字段只能有两个表都有的字段,编辑映射(源字段为stu1目标字段为stu2)更新字段N不更新Y更新 大概意思就是上面为条件下面为操作
然后运行会发现stu2的数据与stu1的数据同步了
=---------------------------------------------------------------------------------------------------------------=
在转换的基础上,添加↓
=---------------------------------------------------------------------------------------------------------------=
新建作业START
新建转换 然后shift进行连接
双击转换选择刚刚转换完成保存的文件
创建脚本sql进行连接
对勾可以变成X号或者锁
X号例如:转换失败的时候可以给你发个邮件的意思
锁:转换完了以后才START,然后双击sql会发现连接没了新创数据库连接
可以进行sql编写如:insert into stu2 values(5,‘stu2’)
可以选择加入DUMMY意义表示执行到这就什么也不操作了
然后执行,会发现在同步的基础上,还运行了sql中的脚本添加
=---------------------------------------------------------------------------------------------------------------=
将excel中的数据导入到表stu1中
=---------------------------------------------------------------------------------------------------------------=
首先整理好自己的excel表格然后先新建Excel输入和表输出,长按shift进行关联
没问题就完成,运行也可以跟上述的进行新建作业,START→转换→sql脚本,将excel中的数据导入到表stu1中然后再进行sql脚本的添加操作
=---------------------------------------------------------------------------------------------------------------=
将excel中的数据输出到表stu1中,再将stu1的数据更新插入到表stu2中,并在表stu2中添加一条数据
=---------------------------------------------------------------------------------------------------------------=
=--------------------------------------------------------------------------------------------------------------=
先执行sql脚本往test表中添加一条数据,将test表中(字段tid,tname,tage)输出到excel表格中,再讲excel表格中的数据输出到stu1表(字段id,name,age)再插入更新到表stu2中(字段id,name)最后执行sql脚本stu2添加一条数据(注:注意流中的字段和目标表的字段不一样需要匹配)
=---------------------------------------------------------------------------------------------------------------=
暂时研究这么多,如有不全请谅解,还有很多组件期待你的研究