Kettle入门教程-01-快速开始

前言

文章原地址,暂时未加为何写的说明,因为以前都是写给自己看。以后会慢慢修正。
以上。

Kettle

Data Integration (or Kettle) delivers powerful Extraction,

Transformation, and Loading (ETL) capabilities, using a groundbreaking, metadata-driven approach.

中文社区

Hello World

使用简介

一、Download

Download from here.

二、Install

因kettle为免安装软件,解压缩到任意本地路径即可.

三、Env Prepare

此文件为Java编写。需要配置对应的JDK环境。


Microsoft Windows [版本 6.1.7601]

版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

$  java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) Client VM (build 24.79-b02, mixed mode, sharing)

四、运行

-Windows

双击运行Spoon.bat即可。可能遇到虚拟机无法启动的错误,修改一下Spoon.bat内容


if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"

修改"-Xmx2048m""-Xmx1024m"即可。

-Mac

双击运行Spoon.command

Quick Start

-数据库连接

数据库连接异常


org.pentaho.di.core.exception.KettleDatabaseException:

Error occurred while trying to connect to the database

Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.

org.gjt.mm.mysql.Driver

at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)

...

Caused by: org.pentaho.di.core.exception.KettleDatabaseException:

Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.

org.gjt.mm.mysql.Driver

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:515)

at org.pentaho.di.core.database.Database.normalConnect(Database.java:456)

... 74 more

Caused by: java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

at java.net.URLClassLoader.findClass(URLClassLoader.java:381)

at java.lang.ClassLoader.loadClass(ClassLoader.java:424)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at org.pentaho.di.core.database.Database.connectUsingClass(Database.java:490)

... 75 more

解决方案。

把本地驱动文件(如mysql-connector-java-5.1.20.jar)放到了data-integration\libswt\win64下面,当然也可以放到data-integration\lib等程序可以找到的位置,也可以修改一下系统的环境变量,使该驱动可以被找到

切记,要重启spoon

-数据准备。

1、首先创建2个数据库,kettle、kettle2

2、在两个数据库都是用以下脚本创建表。


CREATE TABLE `user` (

`id`bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键, 自增',

`name`varchar(64) NOT NULL COMMENT '用户名称',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表';

3、我们在 kettle.user 中执行以下脚本,插入数据。


INSERT INTO user (name) VALUES

('I'),

('Like'),

('Kettle');

数据如下


1  I

2  Like

3  Kettle

我们下面演示,如何使用 Kettle 让一个数据库表的数据,直接迁移到另外一张表中。

-kettle 实现

1、使用 Kettle,新建一个表输入,指定我们的数据源。如下:

2017-05-14-kettle-table-input.png

SQL 就简单的查询即可:


SELECT name FROM user WHERE name IS NOT NULL

2、插入/更新

Kettle入门教程-01-快速开始_第1张图片
2017-05-14-kettle-insert-update.png

3、运行测试

直接运行即可。Console 会输出对应 LOG。有些类似于 SQL SERVER 的导入导出。但是 KETTLE 更加强大灵活。

你可能感兴趣的:(Kettle入门教程-01-快速开始)