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();
        }
    }

 

posted on 2017-06-09 15:44  肥兔子爱豆畜子  阅读(1004)  评论(0编辑  收藏  举报

导航