
新建一个Transformation,在Transform中有Add sequence组件,可以生成序列ID,也可以控制数据库的序列ID。 后续的ID加工还可以进行组合加工,看你自己的需要了。
为了使Kettle能够与数据库成功连接,需要给它配置一下数据库连接。具体而言,需要进行以下步骤:
1启动Kettle。
2打开 "数据库连接" 的窗口。
3在 "数据库类型" 下拉框中选择相应的数据库类型,如MySQL、Oracle等。
4填写 "主机名"、 "端口号"、 "数据库名称" 等数据库的连接信息。
5填写 "用户名" 和 "密码",进行身份验证。
6测试连接,确认数据库连接信息的准确性。
完成以上步骤后,Kettle就可以成功连接到相应的数据库,并进行数据读取和写入等 *** 作。需要注意的是,每个不同类型的数据库在连接时需要填写的信息和参数不同,因此需要根据具体情况进行配置。
在kettle常常有处理从一个源数据中做转换做转换的时候, 需要去查另一个数据库
这种问题遇到数据小时候还好办 但是数据魇 时候就麻烦来了
下面针对三种情况做具体情况的选择办法
先上一个图
[img]
[/img]
1 当需要转换的数据特别大的时候, 例如: 10W条以上或者100W条以上时
上图中,hadoop数据导入,导入的数据如果够多,例如100W条以上,其中一个字段需要查询数据库中查询,而这个字段的类型并不多,例如只有10个类型或者数据库中就只有这10个类型那么,可以走线路2, 并且线路2中的 "使用缓存" 可以打勾,也可以不打当然你这个源里的数据太多,打上当然最好了因为省得再去你的数据库里再查
但是当源里的数据类型还是只有10个类型,但是你的数据库里面存了有10000条记录时,怎么办
有两种解决办法:
1)线路2:并且查询节点中的 "使用缓存" 不能打勾
2)线路1,并在"带条件的结果查询供流查询使用" 这个结点中,用一个SQL,过滤一下数据,然后尽可能地把那里包括的这些记录查出来这样在流里的比对时也很快很多必竟是在内存里做运算了
2 查另一个数据库的数据量大时,而你的源数据不大
最好的选择是
线路1,并在"带条件的结果查询供流查询使用" 这个结点中,用一个SQL,过滤一下数据,然后尽可能地把那里包括的这些记录查出来这样在流里的比对时也很快很多必竟是在内存里做运算了
3 当两个数据源都非常大时(最不想遇到的)
这种情况是最不想遇到的办法
一种选择:
1)线路2中的 "使用缓存" 打勾
当然还有别的更复杂但是会更快的办法适用场景比较少,不再详细写了
以上就是关于如何利用kettle把oracle数据库里的某些表放到mysql数据里全部的内容,包括:如何利用kettle把oracle数据库里的某些表放到mysql数据里、要使Kettle能正常连接到数据库,需要给Kettle配置()、kettle 同步数据的同时可以在动态插入一些标志字段的值吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)