JAVA集成kettle实现数据自动化抽取清洗功能

老样子,第一步,环境搭建,jar包准备:

由于Maven中央仓库以及好多私有仓库对于kettle的环境jar包未做更新,导致直接去通过maven中央仓库来下载kettle的相关jar包可能有点不全面,这里介绍第二种方式,手动引入第三方的jar包。分为两种情况:
1.直接把jar包放入项目根目录下的lib文件夹,然后BuilePath,add jar。。。(基本操作,不过多赘述,不会的可以去百度如何引入第三方jar包到自己项目)。
2.今天主要介绍第二种,将下载的第三方jar包打入自己的maven本地仓库,然后配置maven,自动引入。

一、下载Jar包

1.所需要的Jar列表在这里插入图片描述
2.将mvn放进本次仓库,引入的脚本和配置信息:
在这里插入图片描述
3、下载地址:点击 这里下载“Kettle运行jar及其mvn脚本及配置文件”
说明:下载文件里面包括kettle运行需要的jar包以及将Jar打入本地仓库的脚本以及pom的配置文件,直接可以拿来用。
以上工作完成:

二、准备测试代码

1、kettle的测试代码

public class KettleManager {
    
    
    /**
     * @param jobFile
     * @throws KettleException
     */
    public static void runJob(String jobFile) throws KettleException{
    
    
        KettleEnvironment.init();
        JobMeta jm = new JobMeta(jobFile,null);
        Job job = new Job(null,jm);
        job.setVariable("dateNow", "2019-05-14");
        job.start();
        job.waitUntilFinished();
    }
    
    
    public static void runTrans(String transFile) throws KettleException{
    
    
    	System.out.println("runTrans run ...");
        KettleEnvironment.init();
        TransMeta tm = new TransMeta(transFile);
        Trans trans = new Trans(tm);
        trans.setVariable("dateNow", "2019-05-14");
        trans.execute(null);
        trans.waitUntilFinished();
        System.out.println("runTrans end ...");
    }  
}

因为本人开发的是一套自动化功能,所以接上篇,测试直接使用配置的定时器自动化来测试点击这里查看 Quartz定时器的动态配置

2 定时器测试代码:

public class FirstJob implements Job {
    
      

    private static Logger _log = LoggerFactory.getLogger(FirstJob.class);  

    public FirstJob() {
    
      

    }  

    public void execute(JobExecutionContext context)  
        throws JobExecutionException {
    
      
    	try {
    
    
    		_log.error("Hello Job执行时间: " + new Date());  
        	String transFile = "G:\\kettle_work\\scjzfp\\ly\\cs.ktr";
			KettleManager.runTrans(transFile);
		} catch (Exception e) {
    
    
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

    }  
}  

三、运行测试代码,查看运行情况

程序运行后台界面:
在这里插入图片描述
查看数据库,数据未遗漏,全部抽取完成。
至此基于Quartz的Kettle自动化抽取,清洗数据功能Demo全部完成。
若下载文件或者脚本有疑问,请加QQ:1010206529 ,说明情况。

猜你喜欢

转载自blog.csdn.net/lyy19931025/article/details/90211735