拖动表输入控件,绑定数据源连接你要查询的数据库
SQL语句
select frm table
此时你已经可以获取表中所有数据,根据你后续的需要,再去执行后续相关的 *** 作。
例如过滤就用过滤控件,同步就用表输出控件插入另一张表(甚至可以不同数据源)
打开kettle,定义数据源
1
kettle中定义两个数据源,其中“DS_ERP”是来源数据库,“DS_ODS”是用于同步的数据库
END
新建转换,用于同步某一张表
1
新建一个转换(执行SQL脚本--->>表输入--->>表输出)
执行SQL脚本:删除DS_ODS库中已经存在的数据
表输入:查询DS_ERP库中的数据
表输出:将“表输入”中的结果输出到DS_ODS库中
2
执行SQL脚本:删除DS_ODS库中已经存在的数据
${qy_table_name}:这个是参数,指同步的表名
3
表输入:查询DS_ERP库中的数据
${qy_table_name}:这个是参数,指同步的表名
4
表输出:将“表输入”中的结果输出到DS_ODS库中
${qy_table_name}:这个是参数,指同步的表名
END
新建转换,用于获取需要同步的表名
1
新建一个转换(文本文件输入--->>复制结果到记录)
文本文件输入:通过读取指定txt文件,获取所有要同步的表。(这里也可以通过其他方式获取,例如通过sql查询数据库系统表)
2
指定txt文件路径
3
定义txt文件中的字段名,同上一步中定义的参数名
4
txt中定义需要同步的表,每行一张表名
END
新建任务,实现批量同步
新建任务,调用前面的转换
其中,同步表的转换需要设置循环执行,并将获取到的表名传递到转换内部
以上就是关于怎样利用kettle去一次性读取表中所有的数据全部的内容,包括:怎样利用kettle去一次性读取表中所有的数据、kettle 怎么将数据库某张表导入到txt文档中、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)