kettle spoon创建带参数定时任务并关闭它

Kettle Spoon入门学习 Kettle Spoon入门学习什么是Kettle Spoon实例需求:连接oracle 实现表数据的全量抽取一我们需要先创建一个新的转换二我们将核心对象下的输入点开,找到表输入拖到主页面三双击主页面的表输入来进行设置输入数据现在输入源有了,我们要将数据输出到我们想放的位置。 什么是Kettle Spoon 实例 需求:连接oracle 实现表数据的全量抽取 一我们需要先创建一个新的转换 我们可以双击主对象树下的转换或点击文件下的新建再点转换来进行创建 二我们将核心对象下的输入点开,找到表输入拖到主页面 阅读详情
AI摘要

本文详细介绍了ETL的基本概念,如何下载和安装Kettle,以及如何配置连接MySQL8(包括GenericDatabase和JNDI方式)。重点讲解了如何使用Kettle的图形用户界面和命令行工具进行转换和定时任务的执行,包括设置系统变量和参数化转换。

ETL是什么

ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库;

通俗讲:将数据从一种存储介质或者格式转换为另一种存储介质或者格式的过程;

下载安装kettle和mysql8

两种下载方式

  • 官网下载kettle,需要在官网填写注册信息,下载的会是最新版本的kettle,2021.3.19日官网最新9.1版本。官网地址
  • 百度搜索下载kettle的地址,可能版本不是最新。下载kettle地址。最新版本8.2。

安装步骤

Kettle是纯Java编写的ETL开源工具,目前Kettle7和Kettle8都需要Java8或者以上才能正常运行。所以开运行Kettle前先检查Java环境是否正确配置,Java版本是否是8或者以上。

  • Kettle可在linux、windows上安装,本文基于windows安装
  • 直接解压缩到指定目录下,双击Spoon.bat运行
  • 如果需要连接数据库。下载连接指定数据库需要的jar文件。直接搜索下载即可。比如连接oracle数据库,搜索下载 java连接oracle的jar包,数据库官网一般都有的下载。

资源下载

kettle的安装与连接mysql(包含mysql8)简单使用,
kettle安装下载地址:
官网地址:
https://community.hitachivantara.com/s/article/data-integration-kettle

下载地址:
https://sourceforge.net/projects/pentaho/files/

  • 下载mysql8.0的jar驱动
    https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.19

  • 将下载好的mysql的驱动放到kettle安装文件中的lib下面,然后重启Spoon

使用kettle之前要确保jdk安装配置环境变量完成。

新版本的可以支持mysql8了,但是我这里是服务器上已经有7.0的版本了默认只支持mysql8以下的版本驱动,主要是驱动名称无法手动修改,因此需要mysql8只能通过其他方式;
这里主要使用通用数据库方式和JNDI方式;个人推荐第一种

数据库连接方式

除了系统已经提供的数据库类型选择进行数据库连接外,通常有些数据库没有已有定义,但是系统提供了通用连接可以创建未曾加入的数据库类型。

已定义的数据库类型进行连接

已经定义的数据库类型是已经默认设置了驱动名称的,只需要手动输入数据库地址和账号密码即可。但是如果是低版本的,mysql数据库只支持mysql7以下的(包括mysql7),不支持mysql8。这里就不适用已定义的数据库类型了,需要选择其他方式创建连接。
在这里插入图片描述

Generic Database方式连接

  • 创建kettle数据库连接
    数据库类型选择Generic Database

注意:
驱动这里填写mysql6之后的版本是:com.mysql.cj.jdbc.Driver
mysql6之前的驱动是:com.mysql.jdbc.Driver
在这里插入图片描述

JNDI方式

这钟方式我没有连接成功,配置还是明文方式不太建议
参考原文
https://www.cnblogs.com/sakura–/p/11443491.html

运行方式

名称功能
Spoon.bat / spoon.sh(重点)通过图形接口,允许你通过图形界面来设计 ETL 转换过程(Transformation)
Pan.bat / pan.sh运行转换的命令行工具-命令行模式运行
Kitchen.bat / kitchen.sh运行作业的命令行工具-命令行模式运行
Carte.bat / Carte.shCarte是一个轻量级别的 Web 容器,用于建立专用、远程的 ETL Server

大多数我们都是使用GUI界面图标先执行一遍,没问题之后会使用命令行模式做定时任务执行

‘kitchen’是启动‘.kjb’文件;而 ‘pan’是启动‘.ktr’文件;

启动脚本实例:

:: 启动job脚本
d:
cd D:\devtools\kettle\pdi-ce-8.2.0.0-342\data-integration
kitchen.bat /file=E:/测试数据抽取/test.kjb /level=Basic /logfile=D:/日志文件/logfile/测试任务.log

启动转换任务:

 d:
cd D:\devtools\kettle\pdi-ce-8.2.0.0-342\data-integration
pand.bat /file=E:/测试数据抽取/test.ktr /level=Basic /logfile=D:/日志文件/logfile/测试任务.log

使用案例教程

已经有其他博主写了详细的使用案例教程
https://www.jianshu.com/nb/19605161

插入
插入更新:https://www.jianshu.com/p/720529e627c0

执行成功发送邮件:https://blog.youkuaiyun.com/qq_42025798/article/details/127263507

高级-自定义插件
https://blog.youkuaiyun.com/u013468915/category_8043286.html

定时job执行增量插入转换

这里以mysql为例,创建一个表log,复制该表为log_1
给log插入N条数据;
目的是从log表中获取增量数据插入到log_1表中

  • 先创建转换任务
  • 再创建定时任务job
新建转换
  1. 新建-转换:输入选择-表输入
    数据库连接选择前面创建的数据库连接;
    在这里插入图片描述
    SELECT * FROM log limit 5//这里模拟5条每次

  2. 新建输出:目标表直接填写log_1的表名
    在这里插入图片描述

  3. shift+连接,ctrl+s保存文件
    在这里插入图片描述

4.测试点击下面的在这里插入图片描述箭头运行:运行完成没有报红色异常,则可以看到log_1表中有五条数据了
在这里插入图片描述

新建定时任务job
  1. 新建-作业(J): 添加通用-START组件,配置调度为重复时间间隔为5分钟一次=每5分钟执行一次
    在这里插入图片描述
    还可以下拉选择按天重复执行;按天则天数可以编辑,否则就是按可编辑的时间重复

  2. 添加通用-转换:选择上一步创建的增量任务文件
    在这里插入图片描述

  3. shift+连线:保存job到本地
    在这里插入图片描述

  4. 点击箭头执行,它会不停的5分钟一次执行,查看执行结果,绿色START开始-黑色START结束
    在这里插入图片描述

关闭定时任务job

一旦启动它会一直再进程中运行,如果要关闭只能在进程中选择右键-结束进程来关闭它
这里带来一个问题就是,我无法从进程中判断它是哪个java项目的进程(因为开的java服务比较多),因此还是推荐有窗体的更直观,除非服务很稳定之后不需要再关闭了

在这里插入图片描述

命令行运行定时任务job

前面我们介绍了 Kettle的Spoon的转换和作业定时任务GUI设计方式以及运行,但是在实际应用中,我们需要计划任务是在服务器后台运行。

首先我们需要了解Kettle的Kitchen和Pan

  • Kitchen——作业(job)执行器 (命令行方式)
  • Pan——转换(trasform)执行器 (命令行方式)

重点讲解经常会用到的 ***作业执行器 Kitchen.bat *** 。参数项使用 /rep:参数值 或者 -rep=参数值 这两种方式都可以。

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 不写日志 

命令行执行任务

Windows编写Bat脚本文件
1、新建一个bat文件,命名job.bat,然后编辑,输入内容如下:

:: Kitchen.bat所在路径盘符
d:  
:: Kitchen.bat所在目录
set ROOT_DIR=D:\workspace\IDE\kettle
cd %ROOT_DIR%

:: 作业(job)文件路径和日志文件路径
:: 执行kitchen执行job,并写入日志
kitchen /file:%ROOT_DIR%\spd-job.kjb /level:Base>>%ROOT_DIR%\logs\test.log

双击运行,可以看到我们之前被清空的log_1中有数据进来了

注意:确保路径的正确性。windows bat文件中注释符为:: 使用notebook编辑时,记得编码改为ANSI编码,否则会乱码。

后台运行脚本文件

我们已经建立了命令行运行的bat文件,并且已经可以正确执行我们的ETL任务了,但是现在我们在运行bat后,桌面上面会一直存在一个控制台的黑窗口,我们可以使用bat命令中的隐藏窗口的命令。

在上面的脚本文件头部加入如下内容即可

@echo off

if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
:begin


:: Kitchen.bat所在路径盘符
d:  
:: Kitchen.bat所在目录
set ROOT_DIR=D:\workspace\IDE\kettle
cd %ROOT_DIR%

:: 作业(job)文件路径和日志文件路径
:: 执行kitchen执行job,并写入日志
kitchen /file:%ROOT_DIR%\spd-job.kjb /level:Base>>%ROOT_DIR%\logs\test.log
    

启动后可以看到是没有黑色的命令行窗体的,但是任务管理器中的进程有个Java进程在运行
在这里插入图片描述
提一嘴:如果有多个java项目运行这里是很难区分谁是谁的,那么就要点开详细配合命令查看进程ID了
根据启动项我们就可以很容易区分具体是哪个项目,然后在任务管理器的详细中根据PID杀进程关闭服务

# 会列出所有jvm进程和对于的PID  启动项运行的jar
jcmd -l 

设置系统变量和获取系统变量

如果我们要查询的是前一天的数据,比如 jf_dattime = ‘2024-01-02’,这个日期每次运行的时候都是变化的,怎么设置变参;
获取参数方式

  • 或许系统参数,可选项比较少基本都是日期类型而且不一定符合比如yyyy-mm-dd就没有这种格式,而且不支持格式转换
  • 使用脚本设置变量获取,支持java,javaScript脚本
获取系统变量

在作业中创建-输入-获取系统信息,设置为获取昨天
在这里插入图片描述

同时加入如下组件,这里设置变量是从javascript中获取的day值给系统变量day;

在这里插入图片描述

脚本:

Date.prototype.Format = function (fmt) { //author: meizz 
    var o = {
        "M+": this.getMonth() + 1, //月份 
        "d+": this.getDate(), //日 
        "h+": this.getHours(), //小时 
        "m+": this.getMinutes(), //分 
        "s+": this.getSeconds(), //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds() //毫秒 
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
    if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
//前一天的时间
var dtNew=new Date(new Date().getTime()-1*24*60*60*1000).Format("yyyy-MM-dd");

从js中获取的dtNew值重命名为本地变量day,为的是下一步赋值给系统变量day;为了少走弯路我这里没注意有没有什么要重命名;先这样
在这里插入图片描述

最后添加获取变量主要是为了展示当前的系统变量值是多少
在这里插入图片描述

运行看结果:可以看到这里的值既不是系统变量中获取的0000结尾的格式也不是默认值111,说明获取正确
在这里插入图片描述

设置带参数的转换任务

修改转换任务输入的sql脚本如下,可以看到day是参数模式,需要勾选下面的替换sql变量选项;

SELECT * FROM his_qnz_jf_log WHERE  DATE_FORMAT(Jfsj,'%Y-%m-%d') ='${day}'

在这里插入图片描述

接着把上面一步中设置环境变量和或许环境变量的图直接拷贝过来如下图;
在这里插入图片描述

运行结果可以看到把昨天日期的数量导入到log_1表中了,如果中间day的结果不是yyyy-mm-dd格式,这个个sql都查不到数据,log_1也会没有数据;

而job中不需要设置参数,保存仍然可以自己跑就行了;当然还有一些情况是job中需要携带 配置信息的,这种;目前没用到资料我就不找了。

参考文章

命令行运行kettle任务:https://blog.youkuaiyun.com/qq_22310551/article/details/115163517
获取系统变量和js设置系统变量脚本: https://blog.youkuaiyun.com/m0_69235938/article/details/127528576

Kettle Spoon 安装配置详解 配置 DB 的连接信息: 验证:DB 连接是否成功:预览成功时截图: 双击 “插入/更新”,按需编辑 3.1.4 保存 - xxx.ktr 保存后,表示数据转换工作已完成 3.2 job 作业 3.2.1 文件 - 新建 - 作业 双击 “Start” 编辑 作业定时调度信息 双击 “转换”,选择上述保存好的 ktr 文件...... 阅读详情

相关推荐

kettle的图形工具(Spoon)简单介绍

kettle(ETL)的简单使用 最近刚接手一个新项目,接触了一个叫kettle的工具,这玩意可以用在数据同步,数据清洗,跨数据源等问题,而且不需要写代码,简单易懂。 以下来源百度百科: Kettle是一款国外开源的ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定。 工具 首先用到Spoon工具,这个工具可以图形界面化的操作。简单易懂。 Spoon可以...

hqn笔记分享 2万+

Kettle用法之定时任务

前面讲述了kettle调用Restful API接口,当时只生做了一个转换,本文提到的定时任务将调用上文做的转换。

helloworldchina的博客 6684

Kettle Spoon下载安装与首个ETL转换实战指南

ETL(Extract-Transform-Load)是数据集成的核心范式,其本质是通过结构化流程实现异构系统间的数据抽取、清洗与加载。Kettle(Pentaho Data Integration)作为成熟开源ETL工具,以Spoon可视化界面为入口,依托Java运行时与JDBC驱动实现跨数据库调度。其技术价值在于零云依赖、低代码编排与强可调试性,广泛应用于中小型企业数据库同步、BI数据准备及API数据封装等场景。本文聚焦新手最常卡点——Spoon启动失败与首个转换构建,结合kettle下载安装教程和ke

weixin_34228387的博客 322

Kettle 定时任务 详细教程

Kettle 定时任务 详细教程

weixin_68547003的博客 7691

别再手动导数据了!用Kettle Spoon 9.4把MySQL学生表一键导出Excel(附Java环境配置避坑)

本文详细介绍了如何使用Kettle Spoon 9.4实现MySQL学生表数据一键导出Excel的自动化流程,包括Java环境配置、转换设计、错误处理、定时触发等关键步骤。通过实战案例展示如何提升数据处理效率,避免手动操作带来的错误,特别适合需要频繁导出数据的教务和报表场景。

weixin_38168760的博客 366

别再手动导Excel了!用Kettle Spoon 9.4把数据库数据一键导出到表格(附Java环境配置避坑指南)

本文详细介绍了如何使用Kettle Spoon 9.4将数据库数据一键导出到Excel,大幅提升数据搬运效率。从Java环境配置避坑指南到Kettle Spoon的安装与优化,再到实战案例展示如何构建自动化流水线,帮助用户快速掌握这一高效工具。

Bob1228的专栏 482

Macox kettle安装启动报错:一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它spoon窗口!

Macox kettle安装启动报错:一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它spoon窗口! 最近需要从oracle导一批数据到mysql,需要用到kettle,于是下载了mac版的kettle工具,基本步骤如下: 1、下载jdk,需要jdk8以上 2、下载Kettle https://sourceforge.net/projects/pentaho/files/latest/download/pdi-ce-9.1.0.0-324.zip 或者 h

qq_37527572的博客 8330

深入解析:如何在Visual Studio中高效编译libredwg与libdxfrw

本文详细介绍了在Visual Studio中高效编译libredwg与libdxfrw的完整流程,包括环境配置、源码获取、CMake技巧及常见错误解决方案。针对CAD开发者,提供了从基础编译到项目集成的实用指南,帮助快速处理DWG/DXF文件,提升开发效率。

weixin_29215391的博客 232

Linux部署kettle并设置定时任务

总的来说,部署Kettle并设置定时任务在Linux环境下是一个相对直接的过程,主要包括安装Kettle,编写和测试作业,以及设置和监控定时任务。在这个过程中,你需要有一定的Linux和Kettle使用经验,以便能够解决可能遇到的问题。上述内容的意思是,每天零点执行Kettle作业,并将输出重定向到logfile.log文件。保存并关闭编辑器后,你的定时任务就设置完成了。然后,运行source /etc/profile来使设置生效。如果作业运行成功,那么你就可以设置定时任务了。

高性价比服务器就选:蓝易云 726

VS2019 +osg3.6.5+ earth3.2+qt5.14.2+osgQt 编译教程

用vs新建工程,稍后会在写一篇博客上分享四、结语至此,所有的编译就均已完成。

king_ink的博客 1132

VSCode+ESP-IDF开发环境搭建:从零开始创建你的第一个物联网项目(2024最新版)

本文详细介绍了如何在2024年使用VSCode和ESP-IDF搭建物联网开发环境,从零开始创建第一个物联网项目。内容包括环境准备、ESP-IDF配置、项目创建与结构解析、构建烧录步骤以及高级技巧和常见问题解决方案,帮助开发者快速上手ESP32开发。

weixin_29165725的博客 330

蓝易云高防cdn - Linux部署kettle并设置定时任务

在Linux环境下部署Kettle并设置定时任务,首先需确保Java环境已安装,然后从Pentaho官网下载并解压Kettle。通过编辑/etc/profile文件配置环境变量,将Kettle的bin目录添加到PATH中。使用Kettle的图形界面工具Spoon编写ETL作业,若无图形界面,可在本地编写后上传至服务器。测试作业通过在命令行运行kitchen.sh命令执行作业文件。利用Linux的cron服务设置定时任务,通过crontab -e命令添加定时执行作业的指令,并重定向输出到日志文件以便监控。整个

高性价比服务器就选:蓝易云 683

DIC新手避坑指南:压缩实验中的应变测量常见错误与数据校验技巧

本文为DIC技术新手提供了压缩实验中应变测量的全面避坑指南。文章系统梳理了从试样尺寸录入、散斑质量到数据后处理中应变方向与符号混淆、数据插值对齐等常见错误,并分享了基于MATLAB的自动化数据校验与可视化对比技巧,帮助建立可靠的实验数据分析SOP,确保DIC测量结果的准确性。

weixin_29313423的博客 112

spoon 配置java_Windows下的kettle安装配置

1、安装Java环境一路默认即可。2、配置环境变量增加Windows系统变量KETTLE_HOME D:\pdi-ce-4.1.0-stable\data-integrationPENTAHO_JAVA_HOME C:\Program Files \Java\jdk1.6.0_103.测试Java环境cmd命令行下输入Java –version,能正常显示版本号即为正确。...

weixin_39962199的博客 1664

解锁轻量化网络实验室:在 Containerlab 中部署 Cisco IOL 设备的详细教程

Cisco IOS On Linux(IOL)是 Cisco IOS-XE 的简化版,它是 Cisco IOS 的一种轻量级实现。IOL 并不需要完整的虚拟机(Virtual Machine, VM)环境,可以直接在 Linux 上运行,极大地减少了对系统资源的需求。IOL 节点通过更精简的方式提供了 Cisco IOS 功能,适合构建实验室、测试网络协议和验证网络设计。

网络技术联盟站 476

一步一步教你如何安装IP-Guard(客户端WINDOWS篇)

1、安装完服务器后,在服务器右下角有一个IP-GUARD图标:如图 2、点图标右键选注册: 3、注册成功后, 4、在开始菜单里选生成客户端安装包。 5、生成客户端安装包成功,安装名字可以任意,但是最好是英文名字。 6、将客户端安装程序复制到桌面。 7、退出所有杀毒软件、安全卫士、电脑管家等然后运行 8、安装完成后,立即重启计算机。IPguard客户端安装完成。 9、这样在控制里就可以看到已经安装客户端的计算机,在线显示蓝色,灰色表示计算机已经离线货关机 ...

IP-Guard专栏 5621

linux spoon.sh闪退,kettle Spoon.bat闪退解决办法

1、Java环境配置问题java_home:D:\Program Files\Java\jdk1.7.0_25(安装jdk路径)classpath:.;%java_home%\lib\dt.jar;%java_home%\lib\tools.jarpath:在path路径中添加%java_home%\bin;%java_home%\jre\bin;kettle_home:D:\Program Fi...

weixin_30106425的博客 822

主题045:四足机器人的运动仿真

四足机器人(Quadruped Robot)是模仿哺乳动物四肢运动设计的机器人系统,具有优异的地形适应性和运动稳定性。与双足机器人相比,四足机器人在静态和动态稳定性方面具有天然优势,能够在复杂地形(如楼梯、斜坡、碎石地面)上稳定行走,因此在野外探索、救援任务、军事应用等领域具有广阔的应用前景。本教程将介绍四足机器人的运动学建模、步态规划、稳定性分析和控制策略,并通过Python仿真验证相关理论。典型的四足机器人每条腿包含3个关节:常见的腿部构型包括:对于单腿,足部位置 pfoot\mathbf{p}_{fo

kkchenjj的博客 679

kettle 的 Spoon.bat启动在开始界面,然后消失

猜测 :是 之前的操作有报错的,异常关闭,再次启动(kettle默认是会打开上次里面的作业)Spoon.bat还是在 那个错误中, 解决: C:\Users\Administrator 下 .kettle 删除,启动还原原始状态 ...

weixin_43308131的博客 2684

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 789

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

kettle spoon join连接

kettle spoon merge join 连接 弹出的警告内容大意为输入的数据必须根据 key field 字段进行排序,否则最终结果可能会出现丢失 d.Microsoft Excel output 内容 点击 get fields 获取输出字段 注:能够得出最终结果的原因是采用的两个 Table input 中的内容都是按照 merge join 中的 key field 字段进行排序的,座椅最终结果并没有缺失 其余内容保持不变关闭打开的保存的最终结果的excel,继续运行转

你渴望力量吗? 769

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

关于mac安装kettle的报错:在停止spoon前,请先关闭其它spoon窗口

现象就是,解压完kettle的压缩包,然后安装好jdk,再用spoon.sh启动的时候,页面打不开。 先看一下报错信息 再看一下我的系统配置: 操作系统:macOS 10.15.5 kettle版本:7.1 或 9.0(我测试了两个版本) jdk版本:1.8.0_261-b12 从报错信息能大致看出,是构建窗体的时候失败了,我刚开始怀疑是操作系统的问题,可能kettle自带的swt不支持mac系统,灵感也是源自于官网的一次问答: https://community.hitachivanta

weixin_42080504的博客 1785

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它spoon窗口!...

kettle操作hbase 通过kettle将hdfs上的txt文件导入hbase的时候,HbaseOutput保存mapping信息的时候会报错: 申明:第一张...

qq_26777585的博客 1636

kettle脚本定时任务不执行

问题描述:在centos机器上部署了kettle脚本,每天定时跑一次,但是并没有成功跑,手动执行命令是可以的。而且写了一个测试的shell脚本也是可以执行的。 解决方案: 将2的错误输出,/usr/local/kettle/data-integration/spoon.sh: line 209: java: command not found,查了资料,可能是因为找不到java变量; 在...

weixin_30520015的博客 3758

Kettle Spoon入门与实战:ETL工具核心原理与避坑指南

ETL(Extract-Transform-Load)是数据集成的基础范式,其核心在于可靠的数据流转与强可控的转换逻辑。Kettle作为成熟开源ETL工具,以Spoon图形界面为设计入口,本质是一套基于Java的可执行数据流编排语言,强调显式契约、类型安全与元数据确定性。它不依赖隐式转换,而是通过步骤间RowSet管道、字段名精确匹配和分层架构(Transformation处理数据流,Job管控任务流)保障千万级生产环境的稳定性与可追溯性。广泛应用于金融对账、电商数据清洗、传统系统迁移等场景,尤其适合需兼顾

weixin_34198762的博客 300
上一篇: CentOS 8最小安装和网络配置
下一篇: 服务网格Service Mesh和Istio
牧竹子
博客等级 码龄17年 572粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值