Kettle调度和监控的理论知识介绍,具体内容如下:
1 调度
在这个指导文档中,主介绍两种类型Kettle任务和转换的调度方式。
Ø 操作系统级别的调度器:对于ETL来说,调度不是独一无二的。这是操作系统能够提供标准调度的一般性需要,如UNIX衍生系统上的Cron以及Windows系统上的任务调度器。这些调度器能够拥戴调度Kettle命令行程序来运行任务和转换。
Ø Quartz调度器构建成Pentalo BI服务器:Kettle作为Pentalo BI栈的一部分,许多Kettle 用户可能也使用或者熟悉Pentalo BI服务器。调度器构建成Pentalo BI服务器能够被用来运行一系列执行Kettle任务和转换工作。
所有主要操作系统提供了构建调度任务的特性,这些被任务能够被作为系统级别的调度器来调度。下面,主要来介绍如何使用命令行来运行Kettle 任务和转换。
1.1 命令行执行Kettle任务和转换
使用Kitchen和Pan命令行工具能够启动Kettle任务和转换。Pan和Kettle是环绕数据集成引擎的轻量级封装器(lightweight wrappers)。Kitchen 和 Pan是使用shell scripts运行任务和转换的,比如在Windows环境中Kitchen.bat 和Pan.bat。在Linux环境下,对应的运行脚本是Kitchen.sh 和Pan.sh。
一般命令行参数能够按如下分类:
- 指定job 和transform
- 控制日志
- 指定仓库(repository)
- 列出有效的仓库和它们的内容。
Kettle 和Pan一般命令行参数列表
名称
|
值
|
介绍
|
norep
|
|
不连接到任何一个repository,避免自动登录很有用。
|
rep
|
仓库名称
|
连接到指定名称的仓库
|
user
|
仓库的用户名
|
指定用户名来连接到指定的仓库
|
pass
|
仓库的密码
|
使用指定的密码来连接到指定的仓库
|
listrep
|
|
显示有效的仓库
|
dir
|
路径
|
指定仓库的路径
|
listdir
|
|
列出有效的仓库job/transform路径
|
file
|
文件名
|
指定存储了job或者transform的文件
|
level
|
日志级别
|
Error | Nothing |Basic | Detailed |Debug | Rowlevel
|
logfile
|
日志的文件名
|
指定日志的文件名称
|
version
|
|
显示版本,校订号和工具的构建日期
|
注意:dir and listdir parameters are dependent upon the tool. For Kitchen,theseparameters refer to the repositories’ job directories, or totransformation directories in the case of Pan.
Kettle命令行参数指定
名称
|
值
|
介绍
|
job
|
Job名称
|
指定存储在仓库中job的名称
|
listjobs
|
|
通过dir参数列出存在于仓库中有效jobs
|
Kettle命令行参数的代码实例。
#
# list all available parameters
#
kettle-home> ./kitchen.sh
#
# run the job stored in
# /home/foo/daily_load.kjb
#
kettle-home> ./kitchen.sh \
> /file:/home/foo/daily_load.kjb
#
# run the daily_load job from the
# repository named pdirepo
#
kettle-home> ./kitchen.sh/rep:pdirepo \
> /user:admin \
> /pass:admin \
> /dir://job:daily_load.kjb
1.2 基于UNIX系统:cron
对于UNIX派生的系统中,cron功能是很好的job调度器。你没有必要安装其它任何工具使其有效运行。
Cron字符串定义有5个日期/时间域值,以空白空间分割,从左到右,日期时间域如下:
lminutes: 0–59
lhours: 0–23
lday of month: 1–31
lmonth: 1–12
lday of week: 0–6, where 0 denotesSunday, 1 Monday, and so on
举例说明:
0 1 ? * 5run_kettle_weekly_invoices.sh
上面的例子,表示“每天的星期五的一点”运行这个kettle脚本。
1.3 使用Pentaho 构建Scheduler
需要使用Pentaho BI Server, 更多的信息,参考web资源
2 监控
2.1 邮件通知
Kettle中有两种方式监控job或者transform的运行情况。每个job中的transform都可以配置对应的日志(如下图)。
具体的配置请参考说明文档。邮件组件相对而言,更简单,这里就不详细
2.2 日志表
大部分Kettle组件能够输出以文本行的形式的日子信息.例如,当一个步骤完成, 一行信息显示了这个事件。
2010/06/1810:36:29 - Step name.0 -Finished processing (I=0, O=0, R=0, W=25, U=0, E=0)
你会发现日志是由以下几部分组成:
Ø日期和时间
Ø步骤名称,显示在日期和时间之后
Ø日志文本
Ø这些部分已空白、破折号和横线分割
下面列举Kettle的日子级别:
Rowlevel: 答应所有在Kettle中的有效日志,包括在大量复杂步骤的信息;
Debugging: 产生大量的日志信息,主要用于调试,但是不是在行级别(row level);
Detailed:允许用户看到比基本日志级别更富比较性的信息,额外的信息实例包括SQL查询语句和一般的DDL都会产生。
Basic:默认的日子级别;仅仅打印这些能够反映在步骤或者任务条目上的信息。
Minimal:通知你仅仅关于一个任务或者转化的信息。
Errorlogging only: 如果那儿有一个错误,显示错误消息;否则,什么都不显示。
Nothingat all: 即使当有错误存在的时候,不要产生任何日志。
转换日志表
在转换日志表级别,有四个日志表能够被更新。
l 转换日志表
l 步骤日志表
l 性能日志表
l 日志管道表
在转换的结尾,一个转换过程的默认行为就是写日志到日志表里。
转换日志表
点击右键,在弹出框中选择。弹出转换过程的属性设置。
设置内容如下图所示:
Transformation 日志表属性设置
在左边的面板,你看到不同的你能够定义的日子表。下面有具体参数描述:
-
Log Connection: 存储目标日志表的数据库名称,从选择下滑键中,你可以选择存在的数据库定义的名称。
-
Log table schema: 包含日志表的数据库体系结构。
-
Log table name: 日志表的名称
-
Logging interval (seconds): 在转换运行过程中,根据这个选择参数值间歇地写信息到日志表中。如果你没有指定这个参数值,日志表将仅仅只能在转换开始和完成时被更新。
-
Log record timeout (in days):在它插入一个新值之前,根据这个参数值来来删除日志表中老的记录。
-
Log size limit in lines: 对于不支持大字符字段的数据库,日志限定了这个文本的大小。
依次类推,设置步骤日志表、性能日志表、日志管道表。另外,同转换日志表相似,你也可以设置任务日志表,设置方式基本一致。
分享到:
相关推荐
kettle定时调度监控方案选型策略 kettle定时调度监控方案选型策略
项目介绍Kettle调度监控平台(以下简称KS)是一个自主开发的javaweb程序,专门用来调度和监控由kettle客户端创建的job和transformation。KS整体的框架是由spring+sprin gmvc +beetlsql整合而成,通过调用kettle的API...
本源码项目是基于Springboot微服务的Kettle大数据调度服务监控平台设计,包含627个文件,主要使用Java、Vue、JavaScript、CSS和HTML编程语言。该项目采用当前互联网最热门的Springboot微服务后端架构,并采用丰富的...
Kettle根据参数循环调度, 作业名称:总调度-监控数据量 作 者: 鲁班 开发时间:2019.04.03 加载频率:日 加载策略:全量 程序描述:监控数据量
基于当前互联网最热门的Springboot微服务后端架构,采用丰富的前端vue、iview等组件技术构造的kettle大数据调度服务监控平台,旨在解决企业数据抽取业务场景中,无法通过web方式配置、调度、监控kettle的痛点
KettlePack是一个基于Kettle9(兼容Kettle8及其他版本)的web端调度监控管理平台,专门用来调度和监控由Kettle客户端创建的Job和Transformation,安装使用简单方便,并拥有完善的帮助文档和在线支持,目前基本可以...
智能水壶企业的痛点水壶的勺子客户端太耗内存,异常卡顿,性能预期明显水壶自带网...它是一种超轻量级的水壶网络端调度监控平台支持作业,转换的自定义模板设置支持作业,转换的多任务模板复制支持作业,转换的GUI端
PDI EE(企业商用版)改进了PDI CE(开源社区版)在作业调度监控、系统安全机制、高可用性架构、对接SAP、对接Hadoop、对接AI/ML、 自助式DI/BI等方面之不足,尤其是凭借着原厂兜底的专业技术支持服务保障,近年来...
web端调度监控平台 支持作业、转换的自定义模板设置 支持作业、转换的多任务模板复制 支持作业、转换的GUI端配置同步到web端 支持作业、转换的日志自定路径配置 支持作业、转换的日志文件下载管理 支持作业、转换的...
基于当前互联网最热门的Springboot微服务后端架构,采用丰富的前端vue、iview等组件技术构造的kettle大数据调度服务监控平台,旨在解决企业数据抽取业务场景中,无法通过web方式配置、调度、监控kettle的痛点
模块展示平台展示平台概况模型设计进行ETL模型设计调试任务管理对ETL任务进行综合的调度管理以及监控日志ETL任务的执行日志模块节点管理ETL任务的执行引擎节点管理定时调度定时ETL任务管理用户管理平台的用户权限...
在开源ETL工具Kettle的基础上,设计实现能够定制触发规则、根据调度周期自主运行交换作业的数据交换工具GoData,该工具支持跨节点跨网段的数据交换作业,同时具有节点监控及错误作业预警和消息推送功能,支持集群和...