数据抽取工具 kettle概述

502 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第33天,点击查看活动详情

ETL简介

ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。

市面上常用的ETL工具有很多,比如Sqoop,DataX,Kettle,Talend等,作为一个大数据工程师,我们最好要掌握其中的两到三种,这里我们要学习的ETL工具是Kettle!

Kettle简介

Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装数据抽取高效稳定

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么而不是你想怎么做

Kettle中有两种脚本文件,transformationjob,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

Kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)。

Kettle的两种设计

  • 简述:

Transformation(转换):完成针对数据的基础转换。

Job(作业):完成整个工作流的控制。

  • 区别:

(1) 作业是步骤流,转换是数据流。这是作业和转换最大的区别。

(2) 作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件;

  • 转换:

image.png

  • 作业:

image.png

Kettle的核心组件

  1. 勺子(Spoon.bat/spoon.sh) : 是一个图形化的界面,可以让我们用图形化的方式开发转换和作业。windows选择Spoon.bat;Linux选择Spoon.sh

  2. 煎锅(Pan.bat/pan.sh): 利用Pan可以用命令行的形式执行由Spoon编辑的转换和作业

  3. 厨房(Kitchen.bat/kitchen.sh): 利用Kitchen可以使用命令行调用由Spoon编辑好Job

  4. 菜单(Carte.bat/ Carte.sh):Carte是一个轻量级的Web容器,用于建立专用、远程的ETL Server。

image.png

Kettle特点

image.png