Kettle 使用入门
Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。
本文介绍一个入门例子:使用Kettle从动态指定的文件名对应的文本文件里抽取数据,导入到数据库临时表。
共分为2个步骤:
1、使用Kettle工具生成代表上述数据导入流程和转换的ktr文件
文本文件输入 -> 表输出
特别说明的是文本文件输入里的文件名是可以用变量,然后在步骤2中动态指定文件名的,如下
2、在java程序中使用Kettle API调用上述ktr文件,执行导入。
public static void main(String[] args){ String ktrFile = "C:\\Users\\ocf\\Documents\\Tencent Files\\FileRecv\\支付接口\\支付接口\\对账文件\\市民卡\\DLD0001.ktr"; try { //指定文件名变量 System.getProperties().put("filename","C:\\Users\\ocf\\Documents\\Tencent Files\\FileRecv\\支付接口\\支付接口\\对账文件\\市民卡\\DLD0001.txt"); KettleEnvironment.init(); TransMeta transMeta; transMeta = new TransMeta(ktrFile); Trans trans = new Trans(transMeta); //此处为输入的参数,也可以通过参数传进方法中 String dataFile = "DLD0001.txt"; String [] s = {dataFile}; trans.prepareExecution(s); trans.startThreads(); trans.waitUntilFinished(); if (trans.getErrors() != 0) { System.out.println("kettle导入Error"); return; } System.out.println("kettle导入执行成功!"); } catch (Exception e) { e.printStackTrace(); } }