Kettle循环DB表数据到FTP实例(Extract)续

浏览: 1672

整体流程参考:https://ask.hellobi.com/blog/hql15/4622

此部分内容加入了自动生成所需目录、十分钟所有表数据分别增量同步便于部署。

1、运行整体流程的目录初始化,generateLocalDirect.bat

REM **************************************************
REM ** 初始化文件主目录                **
REM **************************************************
md "D:\DWBI1\ETL\业务考试监管\localPath"
md "D:\ftp\recvfrombd"
set localDir=D:\DWBI1\ETL\业务考试监管\localPath
set tempDir=D:\ftp\recvfrombd
REM **************************************************
REM ** 部署时根据实际需要同步的表,增加减少下面每两行                **
REM **************************************************
%1%
md %localDir%\DRV_MON_EXAM_MISJUDGE\temp
md %tempDir%\DRV_MON_EXAM_MISJUDGE\
%2%
md %localDir%\DRV_MON_EXAM_WARNIN\temp
md %tempDir%\DRV_MON_EXAM_WARNING\
%3%
md %localDir%\DRV_MON_IMP_ROWLOG\temp
md %tempDir%\DRV_MON_IMP_ROWLOG\
%4%
md %localDir%\drv_mon_stat_misjudge\temp
md %tempDir%\drv_mon_stat_misjudge\

2、这一部署对应前一博客的4.4

REM **************************************************
REM ** 清空历史数据,此步骤在第一次部署时放在D:\DWBI\ETL\业务考试监管\表文件\  **
REM ** 文件名取为对应表名目录**
REM ** 只需修改=右边表名**
set tableName=drv_mon_stat_misjudge
REM ** 下面不需动**
D:
cd D:\DWBI\ETL\业务考试监管\localPath\%tableName%\temp\
del D:\DWBI\ETL\业务考试监管\localPath\%tableName%\temp\*.txt  /q
echo "删除数据文件"

3、此一部分对应4.5

select * from ${starts} where (${updTimeSpan}-to_date('1970-01-01,00:00:00','yyyy-mm-dd,hh24:mi:ss'))*86400*1000+60*1000 >=${fiveMinutes}--重复前一分钟数据


4、最后定时任务的制定

REM **************************************************
REM ** 定是抽取数据,修改kettleDir为kettle安装目录                **
REM **e为本地kettle安装盘,根据情况修改 **
%只需修改下面两行%
e:
set kettleDir=E:\kettle5.1.0\data-integration
REM **下面不用修改 **
set localDir=D:\DWBI\ETL\业务考试监管
cd %kettleDir%
kitchen.bat /file %localDir%\dbToFtpMain.kjb>>%localDir%\dbToFtpMain.log

完整代码参考附件(配置文件略)

华青莲日常点滴,方便自己,成长他人。

推荐 2
本文由 华青莲 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册