Kettle 入门

来源:互联网 发布:人工智能瓶颈 编辑:程序博客网 时间:2024/05/02 05:02

Kettle 简介

● Kettle 是一款国外开源的ETL工具,纯 java 编写,可以在 Window 、Linux 、Unix 上运行,数据抽取高效稳定。
● Kettle 中文名称叫水壶,该项目的主程序员 MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
● Kettle 这个 ETL 工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
● Kettle 中有两种脚本文件,transformation 和 job,transformation 完成针对数据的基础转换,job 则完成整个工作流的控制。
● Kettle 家族目前包括 4 个产品:Spoon、Pan、CHEF、Kitchen。
  SPOON:允许你通过图形界面来设计 ETL 转换过程(Transformation)。
  PAN:允许你批量运行由 Spoon 设计的 ETL 转换 (例如使用一个时间调度器)。Pan 是一个后台执行的程序,没有图形界面。
  CHEF:允许你创建任务(Job)。 任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。
  KITCHEN:允许你批量使用由 Chef 设计的任务 (例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序。

软件准备

  • 下载
      历史各个版本官方下载地址:
      https://sourceforge.net/projects/pentaho/files/Data%20Integration/
  • 安装
      首先先配置 Java 环境变量。
      下载之后是压缩包,解压之后之后,运行 Spoon.bat 即可。
      kettle
      现在最新版本是 7.0 ,我用的是 6.1。
      如果运行时报错:
      

      
      error:could not create the java virtual machine;

      

      需要修改一下 Spoon.bat 里的内存配置:使用文本编辑器打开 Spoon.bat
      
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"

  调整 PENTAHO_DI_JAVA_OPTIONS 的大小,建议调整成物理内存的 50%。

简单使用 Kettle

  kettle
  
  点击文件,新建转换。 
  kettle
  
  打开转换 -> DB连接 -> 新建,新建数据库连接。
  注:如果要连接 Oracle 则需要将 Oracle 数据库的驱动包放入安装目录的 lib 文件夹中。
  kettle
  
  到核心对象 -> 输入 -> 表输入(拖拽过去)
  kettle

  输出 -> 表输出(拖拽过去)
  然后需要按住 Shift 键,选择表输入指向表输出。
  kettle
  
  双击表输入,进行编辑。这里选择输出的数据库(之前配置好的数据库), 输入要导出的表名,SQL 控制要导出的表、范围等。
  kettle
  
  双击表输出,进行编辑。这里选择输入的数据库(之前配置好的数据库),输入要导入的表名,如果导入导出表的字段不是不完全相同,需要指定数据库字段。
  kettle

  都设置好之后,可以点击校验这个转换,检测这个转换,检测没有问题之后,点击运行这个转换即可。
  kettle

这个是最简单数据库之间的导表,Kettle 十分强大,有兴趣的可以深入研究。

0 0