ETL工具:kettle安装及简单使用

一. 概述

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。
kettle, 最受欢迎的ETL工具之一, 本文将从安转到简单使用过一遍

二. kettle安转

2.1 环境准备

2.2 配置修改

1. 下载kettle后解压进入文件夹/data-integration

image.png
  • spoon.sh : macos/linux的启动脚本
  • Spoon.bat : win系统启动脚本

2. mac系统修改文件spoon.sh,配置启动脚本jdk路径

# 设置java home 绝对路径
export _PENTAHO_JAVA_HOME=/Library/Java/JavaVirtualMachines/1.8.0_211.jdk/Contents/Home
export _PENTAHO_JAVA=$_PENTAHO_JAVA_HOME/bin/java
image.png

3. win系统修改文件Spoon.bat,配置启动脚本jdk路径

set JAVA_HOME=/Library/Java/JavaVirtualMachines/1.8.0_211.jdk/Contents/Home
set PENTAHO_JAVA_HOME=%JAVA_HOME%
image.png

2.3 启动kettle

执行脚本sh spoon.sh

image.png

image.png

三. 示例DEMO

本demo简单实现两个数据库间的数据同步

3.1 新建作业

1. 新建

image.png

2. 拖拉流程节点到右边

image.png

image.png

3. 按住[shift]键用鼠标拉动连接流程

image.png

3.2 新建转换

1. 新建

image.png

2. 新增数据库连接, 连接两个需要同步的数据库

image.png

image.png
image.png

注意,在选项设一下字符编码,避免同步数据出现问号, characterEncoding=utf8
同样操作连接两个数据库

3. 配置表输入

image.png
image.png

4. 配置插入/更新

image.png
image.png

3.3 把作业和转换连接

image.png
image.png
image.png

3.4 配置作业执行计划

设置每15s同步一次

image.png
设置每15s同步一次

3.5 执行

1. 直接执行转换

image.png

image.png

2. 直接执行作业

image.png

image.png

四. 脚本直接启动作业

image.png
  • kettle可以通过脚本kitchen.shKitchen.bat执行作业, mac/linux用kitchen.sh, win用Kitchen.bat
  • Kitchen命令参数说明:
    -rep:Repository name 任务包所在存储名
    -user:Repository username 执行人
    -pass:Repository password 执行人密码
    -job:The name of the job to launch 任务包名称
    -dir:The directory (don''t forget the leading / or )
    -file:The filename (Job XML) to launch
    -level:The logging level (Basic, Detailed, Debug, Rowlevel, Error, Nothing) 指定日志级别
    -log:The logging file to write to 指定日志文件
    -listdir:List the directories in the repository 列出指定存储中的目录结构。
    -listjobs:List the jobs in the specified directory 列出指定目录下的所有任务
    -listrep:List the defined repositories 列出所有的存储
    -norep:Don''t log into the repository 不写日志

4.1 mac/linux示例脚本

demo.sh

# kitchen.sh做在的绝对路径
~/data-integration/kitchen.sh \
# 作业做在的绝对路径
-file=~/demo.kjb \
# 日志输出文件绝对路径
-log=~/demo.log

4.2 win示例脚本

demo.bat

:: Kitchen.bat所在路径盘符
d:  
:: Kitchen.bat所在目录
cd D:\data-integration 
:: 作业(job)文件路径和日志文件路径
:: 执行kitchen执行job,并写入日志
kitchen -file=D:\demo.kjb -log=D:\demo.log
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容