没有合适的资源?快使用搜索试试~ 我知道了~
首页利用kettle的api运用Java代码完成数据转换到excel和数据库源码
资源详情
资源评论
资源推荐
Kettle 的研究
ETL(Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),
Kettle(水壶)是一款国外开源的 etl 工具,纯 java 编写,绿色无需安装,数据抽取高效稳
定。Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转
换,job 则完成整个工作流的控制。
Kettle 的四大块:
Chef——工作(job)设计工具 (GUI 方式) 厨师
Kitchen——工作(job)执行器 (命令行方式) 厨房
Spoon——转换(transform)设计工具 (GUI 方式) 勺子
Span——转换(trasform)执行器 (命令行方式) 盘子
编译程序所需要 jar 包:
下面是在 Java 中如何利用 kettle 的 API 来对数据进行转换做了 2 个例子:
1. Java 中完成数据库与数据库之间的数据转换:
package com.test;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import be.ibridge.kettle.core.Const;
import be.ibridge.kettle.core.LogWriter;
import be.ibridge.kettle.core.database.Database;
import be.ibridge.kettle.core.database.DatabaseMeta;
import be.ibridge.kettle.core.exception.KettleException;
import be.ibridge.kettle.core.util.EnvUtil;
import be.ibridge.kettle.trans.StepLoader;
import be.ibridge.kettle.trans.Trans;
import be.ibridge.kettle.trans.TransHopMeta;
import be.ibridge.kettle.trans.TransMeta;
import be.ibridge.kettle.trans.step.StepMeta;
import be.ibridge.kettle.trans.step.StepMetaInterface;
import be.ibridge.kettle.trans.step.tableinput.TableInputMeta;
import be.ibridge.kettle.trans.step.tableoutput.TableOutputMeta;
/**
* Class created to demonstrate the creation of transformations on-
the-fly.
*
* @author Matt
*
*/
public class TransBuilder
{
public static final String[] databasesXML = {
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<connection>" +
"<name>target</name>" +
"<server>localhost</server>" +
"<type>MYSQL</type>" +
"<access>Native</access>" +
"<database>allan</database>" +
"<port>3306</port>" +
"<username>root</username>" +
"<password>root</password>" +
"<servername/>" +
"<data_tablespace/>" +
"<index_tablespace/>" +
"<attributes>" +
"<attribute><code>extra_option_mysql.defaultfetchsize</code><attribut
e>500</attribute></attribute>" +
"<attribute><code>extra_option_mysql.usecursorfetch</code><attribute>
true</attribute></attribute>" +
"<attribute><code>port_number</code><attribute>3306</attribute></attr
ibute>" +
"</attributes>" +
"</connection>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<connection>" +
"<name>source</name>" +
"<server>localhost</server>" +
"<type>MYSQL</type>" +
"<access>Native</access>" +
"<database>test</database>" +
"<port>3306</port>" +
"<username>root</username>" +
"<password>root</password>" +
"<servername/>" +
"<data_tablespace/>" +
"<index_tablespace/>" +
"<attributes>" +
"<attribute><code>extra_option_mysql.defaultfetchsize</code><attribut
e>500</attribute></attribute>" +
"<attribute><code>extra_option_mysql.usecursorfetch</code><attribute>
true</attribute></attribute>" +
"<attribute><code>port_number</code><attribute>3306</attribute></attr
ibute>" +
"</attributes>" +
"</connection>"
};
/**
* Creates a new Transformation using input parameters such as
the tablename to read from.
* @param transformationName The name of the transformation
* @param sourceDatabaseName The name of the database to read
剩余12页未读,继续阅读
whallan
- 粉丝: 2
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 27页智慧街道信息化建设综合解决方案.pptx
- 计算机二级Ms-Office选择题汇总.doc
- 单链表的插入和删除实验报告 (2).docx
- 单链表的插入和删除实验报告.pdf
- 物联网智能终端项目设备管理方案.pdf
- 如何打造品牌的模式.doc
- 样式控制与页面布局.pdf
- 武汉理工Java实验报告(二).docx
- 2021线上新品消费趋势报告.pdf
- 第3章 Matlab中的矩阵及其运算.docx
- 基于Web的人力资源管理系统的必要性和可行性.doc
- 基于一阶倒立摆的matlab仿真实验.doc
- 速运公司物流管理模式研究教材
- 大数据与管理.pptx
- 单片机课程设计之步进电机.doc
- 大数据与数据挖掘.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论27