Kettle---初识

        最近因公司项目的原因,小编接触到了Kettle这样一款工具,感觉挺好玩儿的,通过几天的探索和学习,对Kettlde的使用有了一点点小心得,小编打算把这段期间学习和探索到的关于Kettle的东东写几篇博客记录一下,一来是可以总结一下这几天的研究成果,二来可以帮助到有需要的小伙伴们,不足之处,还请小伙伴们多多指教。

     自我介绍

        Hello大家好,我是Kettle,我是一款国外开源的ETL工具,我是纯java编写的,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。我的中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。ETL是Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程,对于IT行业(也有其他行业)来说,经常会遇到大数据量的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。我绿色无需安装,Kettle中有两种脚本文件,transformation和job;transformation完成针对数据的基础转换,job则完成整个工作流的控制。

 e    部署运行以及可能遇见的坑

         小编用的版本是6.1,小伙伴们可以直接去官网上进行下载,解压到任意盘即可,Windows平台下,双击运行Kettle文件夹下的spoon.bat 文件,如果是Linux、AppleOSX运行的是Spoon.sh。当然安装的前提是,小伙伴们的电脑已经配置好java的环境变量了,如果java_home设置,仍然提示
  could not find the main class. Program willexit!
可以设置环境变量:PENTAHO_JAVA_HOME,变量值为:jdk的安装目录,1.6以上即可。小编的为:C:\ProgramFiles\Java\jre1.8.0_77,如果启动还是报错 ERROR:could not create the java virtualmachine! 不是Java虚拟出了问题,修改一下spoon.bat里内存配置:
  if"%PENTAHO_DI_JAVA_OPTIONS%"=="" setPENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m""-XX:MaxPermSize=256m"
 改为:
  if"%PENTAHO_DI_JAVA_OPTIONS%"=="" setPENTAHO_DI_JAVA_OPTIONS="-Xms512m" "-Xmx1024m""-XX:MaxPermSize=256m",其中还有可能遇到的一个坑就是连接数据库找不到驱动的问题,小编的数据库是MySql,提示错误为[mysql] :org.pentaho.di.core.exception.KettleDatabaseException:
      Error occured while trying to connect tothe 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

        解决办法:把mysql-connector-java-5.1.37-bin.jar拷贝到安装包lib的文件夹下面,然后重新启动spoon.bat即可。以上是小编在安装Kettle过程中遇到的一些问题,写下来,希望小伙伴们看到可以避免相同的坑。

     产品家族
         Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。是不是感觉来到了厨房世家!
SPOON:通过图形界面来设计ETL转换过程(Transformation)。
PAN :批量运行由Spoon设计的ETL转换(例如使用一个时间调度器)。Pan是一个后台执行的程序,没有图形界面。
CHEF :创建任务(Job)。任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。
KITCHEN :批量使用由Chef设计的任务(例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序。
  配置数据库

        配置数据库有两种方式,第一种是直接配置,另一种是在JNDI配置文件里,首先我们来看第一种配置数据库的方式,点击菜单栏文件里面有一个数据库连接,打开如下所示:

例如,小编的一些设置如下所示:

这个就是常见的工具连接数据库,填写好上述内容之后,点击测试,出现如下界面,表示数据库连接成功!

        

        ok,出现上述这个界面,说明我们的数据库已经连接成功了,这样配置数据库的优点是随时需要随时进行配置,如果需要改变连接,修改此处配置可以立即生效,缺点是如果转换的比较多,一旦需要修改数据源每个转换都要进行改动,就比较麻烦了,所以介绍第一种配置连接数据库的方式,通过配置文件,如下图所示:

所连接名称是为了在转换中好选择进行填写的,填什么都OK!

小编寄语:该博文小编主要介绍了Kettle的基础知识,包括kettle的简介,部署Kettle时可能遇见的坑,Kettle

的产品家族以及如何配置数据库的两种方式,Kettle这个ETL工具集她允许我们管理来自不同数据库的数据,好啦,

关于Kettle的一些基本知识,小编就先介绍到这里,接下来的博文中,小编将结合具体的Demo来讲解如何在实际操作

中运用Kettle,敬请期待!

时间: 2024-09-08 23:50:07

Kettle---初识的相关文章

kettle发送带附件的邮件

问题描述 kettle发送带附件的邮件 在用kettle发送带附件的邮件时,邮件能够发送成功,但是邮件里面没有附件,哪位大神给个成功的案例,或者帮忙看看是哪里的问题,谢谢! 解决方案 http://blog.csdn.net/ganggetwo/article/details/50914826 解决方案二: import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Proper

使用Kettle数据迁移添加主键和索引

Kettle是一款国外开源的etl工具,纯java编写,绿色无需安装,主要用于数据抽取.转换.装载.kettle兼容了市面上几十种数据库,故用kettle来做数据库的迁移视乎是个不错的选择. kettle的数据抽取主要在于抽取数据,而没有考虑数据库的函数.存储过程.视图.表结构以及索引.约束等等,而这些东西恰恰都是数据迁移需要考虑的事情.当然,如果在不考虑数据库中的函数.存储过程.视图的情况下,使用kettle进行数据的迁移还算是一个可行的方案. 这篇文章主要是讲述在使用kettle进行数据库的

初识数据仓库(Data Warehousing)-“掀起你的盖头来”

数据 初识数据仓库(Data Warehousing)-"掀起你的盖头来"我在这里就说说我初学的一些认识和看法,希望这些能够作为一些简单的介绍给那些初学的朋友们,更希望起到抛砖引玉的效果.    说到数据仓库,我们了解一下他产生的背景.自从DBASEⅢ(dBase是dos年代发展过来得数据库管理程序,先归属于Borland旗下)的兴起,数据库的应用进入了个人计算机,使得中小企业也纷纷进入商业性的数据库应用阶段.这时的数据库应用主要是进行数据的记录,我们称这类为OLTP(线上事务处理)数

Flash AS 3.0入门教程:初识AS 3.0

初识AS3.0 学习AS3.0已有一段时间了,想把自已对AS3的一些认识和大家分享一下.主要想说说AS3与AS2的不同之处,没有什么逻辑性,想到什么就写点什么,因此,它不适合AS高手们阅读.本文将力求用最直白的语言,尽量不用那些艰涩难懂的名词和术语. 一.在什么地方写代码 失望,以为要说点啥,原来是这么小儿科的问题.没办法,我说过了,本文不适合AS高手阅读的.为了更好地理解,我们还是用例子来说明.现在,就让我们一起来回顾一下,在AS2中我们都会把代码写在什么地方.我们在AS2中建一新文档,新建一

一起学WINS系列(一)初识、基础

<一起学WINS>系列是新出的一个系列专题,旨在用通俗的语言和精细的实例向大家介绍windows2003 服务之一,WINS服务.尽管现在server 2008比较火,且很受欢迎,但这些基础的东西还是不能忘的,希 望大家通过本系列的讨论和学习,对WINS有一些更多的认识和理解.不过,事先声明,本系列并非WINS的 帮助文件,不可能面面俱到,过于常规的知识点可能会很少提及,本文出发点是从实用角度来学习和理解 WINS. 此系列第一节:初识.基础. WINS是什么?从字面理解就是Windows I

初识Android的ReactiveX

初识Android的ReactiveX 开发一个复杂一点的Android应用都会用到网络请求,交互和动画.这些都意味着 要写很多的回调嵌套.这样的代码也被称为callback hell(回调地狱).这样的 代码不仅长,很难理解,而且也是错误高发的地方.ReactiveX 提供了一个清晰.准确处理异步问题和事件的方法. RxJava是一个ReactiveX在JVM上的实现,由NetFlix开发.这个库在Java开发者中 广为流传.这个教程中你会学到如何在Android应用开发中使用RxJava.这

[译]安卓界面导航初识

本文讲的是[译]安卓界面导航初识, 原文地址:A Primer on Android navigation 原文作者:Liam Spradlin 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m- 译者:horizon13th 校对者:SumiMakito, laiyun90 安卓界面导航初识 界面中任何引领用户跳转于页面之间的媒介 -- 这便是导航 当你的应用中的两个不同页面产生联系时,导航便由此而生.跳转链接(不论从哪跳到哪)便是页面间传递用户的媒介.创建导

转 Managing kettle job configuration

Over time I've grown a habit of making a configuration file for my kettle jobs. This is especially useful if you have a reusable job, where the same work has to be done but against different conditions. A simple example where I found this useful is w

初识树莓派(转)

  初识树莓派   大数据时代,随着智能手机.手环等产品的出现,也逐渐对智能硬件产生了兴趣.今天开始研究树莓派,哈哈. 树莓派是什么 树莓派是全球最小最便宜的个人计算机Raspberry Pi的中文译名,只有信用卡大小,是由英国的Raspberry Pi基金会开发的.最初的设计目的是以超低的硬件价格及开放的自由软件来为发展中国家的学生提供一个基本的计算机编程环境.但是随着树莓派计算机的推出,它已经成为了众多计算机爱好者的新工具,通过树莓派这种超低成本的迷你计算机,可以完成许多以前无法完成的事情,

开源项目 Kettle 介绍

1 ETL基本概念    1.1 ETL的定义 ETL分别是"Extract"." Transform" ."Load"三个单词的首字母缩写也就是"抽取"."转换"."装载" ,但我们日常往往简称其为数据抽取.ETL是BI/DW(商务智能/数据仓库)的 核心和灵魂,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤.ETL包含了三