zoukankan      html  css  js  c++  java
  • 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();
            }
        }
  • 相关阅读:
    [LeetCode]题解(python):119-Pascal's Triangle II
    [LeetCode]题解(python):118-Pascal's Triangle
    [LeetCode]题解(python):117-Populating Next Right Pointers in Each Node II
    寒假自学进度8
    寒假自学进度7
    寒假自学进度6
    寒假自学5
    寒假自学学习4
    寒假自学进度3
    寒假自学进度2
  • 原文地址:https://www.cnblogs.com/lyhero11/p/6972260.html
Copyright © 2011-2022 走看看