kettle(PDI)安装使用过程,并部署到Linux下执行定时作业
文章目录
- 前言
- 一、kettle是什么?
- 二、使用步骤
- 1.下载kettle及MySQL依赖
- 2.解压缩下载的pdi压缩包
- 3.创建一个简单的转换
- 4.Linux安装kettle
- 总结
前言
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少,这里我要学习的ETL工具是Kettle!
本文使用工具及版本:
- kettle:pdi-ce-9.1.0.0-324
- jdk:1.8
- mysql:msyql8
- Linux:centos7.2
- ftp工具:xftp5
一、kettle是什么?
- Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。
- Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
- Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。
- Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。
- Kettle(现在已经更名为PDI,Pentaho Data Integration-Pentaho数据集成)。
二、使用步骤
1.下载kettle及MySQL依赖
kettle下载地址:https://sourceforge.net/projects/pentaho/files/
MySQL依赖下载地址:https://dev.mysql.com/downloads/connector/j/
以上文件附百度网盘地址
链接:https://pan.baidu.com/s/1bD-hkilrcYfaUwo1zkIXTg
提取码:zjgl
2.解压缩下载的pdi压缩包
kettle是绿色版无需安装,可直接使用。在根目录下找到Spoon.bat,双击即可运行kettle。
将mysql的依赖放入根目录下的lib目录中
3.创建一个简单的转换
在主对象树中,双击转换
在核心对象,点击输入,双击输入中的表输入
双击右侧的表输入,新建要输入的数据库连接
在核心对象,输出中,双击插入/更新
双击右侧插入/更新,新建要输出的数据库连接
点击浏览,选择要输出的表,分别获取字段并编辑字段
运行转换,直接点击启动,运行前需要先保存转换
最后转换成功
4.Linux安装kettle
- 直接将windows本地下载的pdi压缩包使用ftp工具上传到Linux中。
- 进入文件所在目录,使用 unzip pdi-ce-9.1.0.0-324.zip 命令将文件解压缩。
- 将windows上编辑好的转换文件(以.ktr结尾的文件)上传到Linux的pdi目录下。我这里把 test_20210811.ktr 文件上传到了 /kettle/data-integration/files/ 目录下。
- 测试是否安装成功,在pdi根目录下,输入 ./pan.sh,显示如下信息表示安装成功。
- 测试转换是否能正常执行,在pdi根目录下输入
./pan.sh -file=/kettle/data-integration/files/test_20210811.ktr
如下图显示则表示成功执行。
6. 在pdi目录下输入 vi test.sh 命令,新建一个test.sh文件,在test.sh内输入如下内容:
export JAVA_HOME=/jdk/jdk1.8.0_92
export JRE_HOME=/jdk/jdk1.8.0_92/jre
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin/kettle/data-integration/pan.sh -file=/kettle/data-integration/files/test_20210811.ktr > /kettle/data-integration/files/$(date "+%Y%m%d%H%M%S").log
其中kettle的目录和jdk的目录替换成自己的,并保存。
7. 修改test.sh权限,给他执行权限:chmod a+x *.sh
8. 编辑定时任务:crontab -e
56 10 * * * /kettle/data-integration/jobs/test.sh
cron表达式从左到右依次表示分钟、小时、日、月、周。
我这里设置的意思时每天的10:56执行test.sh,test.sh目录设置成自己的目录。
9. 保存并退出后,重启crond.service服务:systemctl restart crond.service
10. 到数据库验证并查看log文件,验证是否成功。
总结
以上就是今天要讲的内容,本文仅仅简单介绍了kettle的使用,而kettle还有更多的用法需要去进一步学习。
kettle(PDI)安装使用过程,并部署到Linux下执行定时作业相关推荐
- 【云服务器部署】---Linux下安装MySQL
[云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...
- 使用oracle安装jdk1.7,【Java】Linux下安装配置Oracle JDK 1.7版本
1 环境 Vmware虚拟机中的Ubuntu 12.04 32位系统 2具体安装步骤 ①下载最新的jdk包 注意jdk区分32位版本和64位版本,要与Ubuntu兼容才行 下载地址 http://ww ...
- 如何将javaweb项目部署到linux下
以下是对将javaweb项目部署到linux下的方法进行了详细的分析介绍 一般都在windows下开发的现在部署到linux下 将项目达成war包(用eclipse项目右键>Export> ...
- java web 连接linux_如何将javaweb项目部署到linux下
以下是对将javaweb项目部署到linux下的方法进行了详细的分析介绍 一般都在windows下开发的现在部署到linux下 将项目达成war包(用eclipse项目右键>Export> ...
- linux使用oracal11g详细过程,很给力的linux下Oracle11g的安装过程及图解.doc
很给力的linux下Oracle11g的安装过程及图解 我的linux版本是centos5.5,内核版本是2.6.18-194.el5 ,linux下安装oracle系统最好是1G内存,2G的swap ...
- python3怎么安装gmpy2_python2/3 模块gmpy2在linux下安装
!!!首先建议在Windows下安装 因为很方便!!! gmpy2是解密RSA时所用脚本的一个模块python下输入 import gmpy2 ,提示 Traceback (most recent ...
- Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...
.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...
- 在Ubuntu18.04安装GMT-6.1.1(在 Linux 下编译 GMT 源代码)
参考:GMT中文社区 写本文的目的:参考了CSDN上面许多安装GMT方法但是安装过程出现了各种问题,可能因为下载了官网的最新版本,而CSDN都是老版的安装方法有些地方不适用,走了好多弯路.后来才发现G ...
- linux安装基于PHP的web软件,Linux下Web服务器应用之基于LAMP构建phpwind论坛
Linux下Web服务器应用之 基于LAMP构建phpwind论坛 v什么是LAMP Ü目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境 v构成组件 ÜLinux.Apache. ...
- 在linux下安装python3_【转】在Linux下安装python3
原文链接:http://www.cnblogs.com/feng18/p/5854912.html 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wg ...
最新文章
- geohash java github_GitHub - GongDexing/Geohash: GeoHash是目前比较主流实现位置服务的技术,用最简洁的Java实现GeoHash算法...
- java Servlet学习笔记
- php读取usb设备信息,急,请问如何获取USB设备的路径,非HID类型
- 使用Certbot 生成 https 证书
- android xml通知栏权限配置,Android开发中 AndroidManifest.xml配置之service,receiver标签配置详解...
- 【刷题】BZOJ 2194 快速傅立叶之二
- JQuery学习笔记(1)
- 三星 S7562i 一键 Root
- 计算机工程 学什么,依然很火的计算机工程专业学什么?
- 病毒式传播ip_病毒式传播后网络安全实践的简单指南
- Java尚能饭否?10月编程排行榜告诉你!
- Field [price] of type [text] is not supported for aggregation [avg]
- h5应用数据加密_在线视频加密用H5加密方案有哪些优点?
- Git之(三)Git中常用命令——分支管理
- 关于无线wifi漫游设置
- HDU 1873 优先队列
- kodi 下载插件失败/无法刮削
- 2017.1直播类APP排行:斗鱼第一、YY第二、映客第三
- 百度智能小程序巡检调度方案演进之路
- 手机网站支付(公钥证书方式)