接上文:使用Kettle循环处理数据(方式一),觉得流程比较繁琐,又琢磨到一种批量执行的方式。
下面是批量执行的全转换流程。目的是统计某一个库中前缀相同的表的数据量。
1、获取表名:
可以批量将某一个数据库下的所有表获取到。
2、过滤记录:
过滤表名前缀是 nic_newtrack
的表
3、公式:
使用 公式
组件,将表名拼接到需要执行的 SQL
语句中
公式
组件填写的详细信息:
"insert into tablecount select '"&[tablename]&"',count(*) num from "& [tablename]
其中,中括号 []
用来引用上一个组件 “过滤记录”
里传过来的字段 tablename
,其实就是一个参数
与符号 &
是用来将字符串与参数拼接起来,形成一整个字符串
sql
里面拼接的 tablecount
是提前建好的一张表,用来记录每一张表的数据量。包含两个字段:tablename
、count
4、字段选择:
只保留上一步 公式
组件拼接的 sql
5、执行SQL脚本:
等待执行完之后,数据库中的 tablecount
表中,就会记录需要统计的表的数据量。