Kettle是一款开源的ETL工具,可以用于数据抽取、转换和加载。下面是连接Oracle数据库的步骤:
下载并安装Oracle JDBC驱动,可以从Oracle官网下载。
启动Spoon,新建一个Trans。
点击左侧的Database,选择Oracle。
在连接Oracle数据库的页面,填写以下信息:
Host name: Oracle数据库所在的主机名或IP地址。
Port number: Oracle数据库的监听端口号,默认为1521。
Database name: 要连接的Oracle数据库名称。
User name: 连接Oracle数据库的用户名。
Password: 连接Oracle数据库的密码。
点击Test按钮,测试连接是否成功。
连接成功后,就可以在Trans中使用Oracle数据库了。
注意事项:
需要将Oracle JDBC驱动的jar包复制到Kettle的lib目录下。
在连接Oracle数据库时,需要保证Oracle数据库已经启动,并且监听程序也已经启动。
在kettle常常有处理从一个源数据中做转换做转换的时候, 需要去查另一个数据库
这种问题遇到数据小时候还好办 但是数据魇 时候就麻烦来了
下面针对三种情况做具体情况的选择办法
1 当需要转换的数据特别大的时候, 例如: 10W条以上或者100W条以上时
上图中,hadoop数据导入,导入的数据如果够多,例如100W条以上,其中一个字段需要查询数据库中查询,而这个字段的类型并不多,例如只有10个类
型或者数据库中就只有这10个类型那么,可以走线路2, 并且线路2中的 "使用缓存"
可以打勾,也可以不打当然你这个源里的数据太多,打上当然最好了因为省得再去你的数据库里再查
但是当源里的数据类型还是只有10个类型,但是你的数据库里面存了有10000条记录时,怎么办
有两种解决办法:
1)线路2:并且查询节点中的 "使用缓存" 不能打勾
2)线路1,并在"带条件的结果查询供流查询使用" 这个结点中,用一个SQL,过滤一下数据,然后尽可能地把那里包括的这些记录查出来这样在流里的比对时也很快很多必竟是在内存里做运算了
2 查另一个数据库的数据量大时,而你的源数据不大
最好的选择是
线路1,并在"带条件的结果查询供流查询使用" 这个结点中,用一个SQL,过滤一下数据,然后尽可能地把那里包括的这些记录查出来这样在流里的比对时也很快很多必竟是在内存里做运算了
3 当两个数据源都非常大时(最不想遇到的)
这种情况是最不想遇到的办法
一种选择:
1)线路2中的 "使用缓存" 打勾
1 单数据源输入,直接用sql 做连接
2 多数据源输入,(可能是文本或是两个以上源数据库),用database join *** 作
3 三个表以上的多字段输出
2 Kettle的数据库连接模式
Kettle的数据库连接是一个步骤里面控制一个单数据库连接,所以kettle的连接有数据库连接池,你可以在指定的数据库连接里面指定一开始连接池里面放多少个数据库连接,在创建数据库连接的时候就有Pooling 选项卡,里面可以指定最大连接数和初始连接数,这可以一定程度上提高速度
以上就是关于kettle如何连接oracle数据库全部的内容,包括:kettle如何连接oracle数据库、kettle中做查询时,遇到大数据时怎么处理、kettle 表输入 对结果集进行 *** 作等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)