Kettle基本使用
Kettle基本使用
Kettle的几个子程序的功能和启动方式
Spoon.bat 图形界面方式启动作业和转换设计器。
Pan.bat 命令行方式执行转换。
Kitchen.bat 命令行方式执行作业。
Carte.bat 启动web服务,用于Kettle的远程运行或集群运行。
Encr.bat 密码加密。
转换和作业
Kettle的Spoon.bat设计器用来设计转换(Transformation)和作业(job)。
- 转换主要是针对数据的各种处理,一个转换里可以包含多个步骤(Step)。
- 作业是比转换更高一级的处理流程,一个作业里包括多个作业项(Job Entry),一个作业项代表了一项工作,转换也是一个工作项。
###输入、输出、转换、过滤、字段选择、连接###
Kettle资源库—元数据
元数据的通用概念:
- “描述性数据”或“数据的数据”
ETL的元数据:
- 描述ETL要执行的任务
在Kettle里元数据的存储方式:
- 资源库
资源库宝库文件资源库,数据库资源库
Kettle资源库类型可以插件扩展
- XML文件
.ktr转换文件的XML的根节点必须是<transformation>
.kjb作业XML的根节点是<job>
Kettle资源库—资源库类型
数据库资源库:
- 把Kettle的元数据串行化到数据库中,如R_TRANSFORMATION表保存了Kettle转换的名称、描述等属性。
- 在Spoon里创建和升级数据资源库
文件资源库:
在文件的基础上的封装,实现了org.pentaho.di.respositpory.Repository接口。
是Kettle4.0以后版本里增加的资源库类型
不使用资源库:
直接保存为 ktr 或 kjb 文件。
Kettle资源库—如何选择资源库?
数据库资源库的缺点:
- 不能存储转换或作业的多个版本。
- 严重依赖于数据库的锁机制来防止工作丢失。
- 没有考虑到团队,开发人员不能锁住某个作业自己开发。
文件资源库的缺点:
- 对象(如转换、作业、数据库连接等对象)之间的关联关系难以处理,所以删除,重命名等操作会比较麻烦。
- 没有版本历史。
- 难以进行团队开发。
不使用资源库:
使用SVN进行文件版本控制。
参考:
Kettle企业资源库:基于Apache Jackrabbit 的CMS系统。
Kettle资源库—管理资源库
ETL开发的几个阶段:
开发、测试、确认、发布
各个阶段对应的资源库:
开发资源库、测试(确认)资源库、发布资源库
各阶段推进
1.从开发资源库带测试资源库:
注意命名规则。
由一个人统一发布,避免冲突。
两种移植方法:断开重连、导入/导出。
2.从测试(确认)资源库到发布资源库:导入/导出
不使用资源库
SVN版本控制,测试打tag,发布建branch
Kettle资源库—参数化
为什么要参数化:
在资源库之间移植作业时,因为各个阶段的环境不一样,在作业里使用的数据库连接等元数据不能硬编码。
参数化的几个方法:
- kettle.properties,文件位于java的user.home目录下
- 自定义properties文件,通过 属性文件输入 步骤读取。
- 使用参数表
参数表的结构
Environment parameter_name parameter_value valid_from valid_to
Dev host_name localhost 2011-01-01 2099-01-01
Test host_name 192.168.12.10 2011-01-01 2013-05-01
Test hose_name 192.168.12.11 2011-05-02 2099-01-01
Kettle运行方式—几中运行方式
图形化界面:Spoon
命令行:Pan、Kitchen
API:Kettle Java API 嵌入到其它应用
Kettle运行方式—Spoon
本地:在本地执行
远程:在远程服务执行,需要远程服务器执行Carte。
- Carte是内嵌Jetty的 http server。
- Carte执行命令 carte localhost 80080
集群:在集群上执行,需要转换里的某个步骤实现设置为集群方式运行。
Kettle基本使用的更多相关文章
- 大量数据快速导出的解决方案-Kettle
1.开发背景 在web项目中,经常会需要查询数据导出excel,以前比较常见的就是用poi.使用poi的时候也有两种方式,一种就是直接将集合一次性导出为excel,还有一种是分批次追加的方式适合数据量 ...
- 数据仓库开发——Kettle使用示例
Kettle是一个开园ETL工具,做数据仓库用Spoon. 工具:下载Spoon,解压即可用 1.认识常用组件: 表输入 插入\更新 数据同步 文本文件输出 ...
- kettle中含有参数传递的定时任务
(1)新建一个作业(新建->作业),并在控制面板右键: (2)设置一个命令参数: (3)把作业的参数传递给转换: (4)在转换中右键设置转换属性: (5)接收作业中设置的传递参数: (6)参数的 ...
- kettle中全局变量的设置
设置全局变量. 找到.properties文件: 在文件中设置值: 在kettle中新建一个job(不用做任何设置): 转换中获取便元的设置: 重启kettle的执行结果:
- kettle中变量的设置和使用介绍
有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有 1.首先,打开.kettle\kettle.properties(个人主机是:C:\Users\fo ...
- kettle将Excel数据导入oracle
导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/17 ...
- kettle转换和作业插件开发及调试
这是一篇几年前写下的文档,最近打算根据这篇文档重写一下kettle插件的教程.结果各种理由,一推再推.今天索性将这篇文档发布出来,分享给大家,例子等有空再补上.这是一篇基于kettle3.2基础上完成 ...
- kettle系列-[KettleUtil]kettle插件,类似kettle的自定义java类控件
该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义 ...
- kettle系列-kettle管理平台部署说明
本介绍我的开源项目[kettle-manager]kettle管理平台如何获取并部署使用,该项目介绍请参看另一篇博文:http://www.cnblogs.com/majinju/p/5739820. ...
- kettle系列-我的开源kettle管理平台[kettle-manager]介绍
kettle管理工具 专门为kettle这款优秀的ETL工具开发的web端管理工具. 项目简介 kettle作为非常优秀的开源ETL工具得到了非常广泛的使用,一般的使用的都是使用客户端操作管理,但问题 ...
随机推荐
- Shell变量的作用域:Shell全局变量、环境变量和局部变量
Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他 ...
- seaborn分类数据可视化:散点图|箱型图|小提琴图|lv图|柱状图|折线图
一.散点图stripplot( ) 与swarmplot() 1.分类散点图stripplot( ) 用法stripplot(x=None, y=None, hue=None, data=None, ...
- 没有学历如何从事Java开发?
学历成了当今社会一个衡量一个人能力的标准,未来只会越来越深入,也有的人说不要总是把学历挂嘴边,学历并不能代表能力,确实学历不能代表能力,但是学历是能代表一个的人学习深度,也是在职场上必备的一个敲门砖. ...
- PHP zip_open() 函数
定义和用法 zip_open() 函数打开 zip 档案以供读取.高佣联盟 www.cgewang.com 如果成功,该函数则返回 zip 文件资源.如果失败,则返回 FALSE. 语法 zip_op ...
- CF掉分日记 6.6 6.8
---恢复内容开始--- 写的效果依旧不好 还没写完前四题比赛就结束了 而且这些普及组的题目 我大多还是缺少简单算法的灵性 总是把问题搞复杂化. 6.5 A 第一道题非常水 简单分析发现是一个快速幂的 ...
- 4.23 子集 分数规划 二分 贪心 set 单峰函数 三分
思维题. 显然考虑爆搜.然后考虑n^2能做不能. 容易想到枚举中间的数字mid 然后往mid两边加数字 使其整个集合权值最大. 这里有一个比较显然的贪心就不再赘述了. 可以发现这样做对于集合是奇数的时 ...
- 【问题记录】ajax dataType属性
最近整理代码,发现一些ajax dataType 属性值设置的问题.下面直接上代码说明下 前台ajax请求 $.ajax({ type: "get", dataType: &quo ...
- SparkSQL & Spark on Hive & Hive on Spark
刚开始接触Spark被Hive在Spark中的作用搞得云里雾里,这里简要介绍下,备忘. 参考:https://blog.csdn.net/zuochang_liu/article/details/82 ...
- Taurus.MVC 2.3.4 :WebAPI 文档集成测试功能升级:WebAPI批量自动化测试功能。
前言: 最近升级了一下Taurus.MVC,现在最新版本是:Taurus.MVC 2.3.4,源码版本和nuget同步. 下面分三个步骤介绍下新版本的WebAPI批量自动化测试功能. 1.启用WebA ...
- 【洛谷P3802】小魔女帕琪 题解(概率期望)
前言:蒟蒻太弱了,不会推式子QAQ -------------------- 题目链接 题目大意:给定$7$种能量晶体各$a_i$个,每次随机摸到一个晶体,如果连续摸到$7$个不同的晶体就会触发一次伤 ...