JAVA专题

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

2022-04-10  本文已影响0人  任未然

一. 概述

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

二. kettle安转

2.1 环境准备

2.2 配置修改

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

image.png

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

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
上一篇下一篇

猜你喜欢

热点阅读