kettle相关知识

2024-08-22 09:32
文章标签 知识 相关 kettle

本文主要是介绍kettle相关知识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

相关链接

开源ETL工具(Kettle) V5.1.0 免费Spoon版
http://www.cr173.com/soft/30051.html
ETL工具大全,你了解多少
http://bbs.csdn.net/topics/390349305
Kettle_抽取数据举例
http://blog.csdn.net/huangyanlong/article/details/42264543

文件列表

kettle入门(三) 之kettle连接hadoop&hdfs图文详解
http://blog.csdn.net/xiaohai798/article/details/39558939


ETL2004ETL和数据集成工具:ETL和数据集成的工作量占BI项目的40%,但是ETL工具约占BI市场的9%,其中很多应用是采用手工编码方式,ETL工具仍有待普及

clipboard.png-24.9kB
  1. 从哪里抽取什么样的数据,即抽取规则。要支持增量抽取,即每次抽取只抽取上次抽取后变化的数据。在复杂情况下,还需要检查上次抽取后修改或者删除的数据,并依据数据安全策略进行相应的处理;
  2. 数据抽取频率即什么时间抽取,即抽取时间设置,确定每天晚上12点抽取,或者每1小时正点时抽取1次,等等;
  3. 数据校验,确定每个抽取的数据是否是有效的,是否是没有缺陷的,是否需要补充内容等;
  4. 数据转换规则,即源数据怎样转化成需要的数据的,经过什么样的计算、拆分、合并等等;本数据转换完后,需要触发哪些数据的ETL过程;
  5. 数据质量检查,可以采用对账等方式对转换完后的数据进行统一检查,保证数据的抽取质量;
  6. 错误处理,如果转换过程中出现错误,需要进行统一的、相应的处理,给出明确的业务描述,记录错误日志,并发到系统信息中心;
  7. 记录ETL日志,包括转换的时间,数据源是哪个,转化的数据种类,转换的源数据是哪些,对应的目标数据是哪些,等等。

ETL大致分为两部分

  • 设计期:ETL过程,

    Extract即是从业务数据库中抽取数据,
    Transform即是根据业务逻辑规则对数据进行加工的过程,
    Load即是把数据加载到数据仓库的过程
    (Extract-Transform-Load ),关键就在T的处理上,这个过程的实现,可 以用可以用perl、shell、存储过程等来实现,也可以用类似Kettle等ETL工具实现

  • 运行期:ETL的调度过程,所谓调度,就是执行定时任务,对以上脚本、job的调度,主要是这其中的依赖如何配置的问题,还有就是对于日增、日全、月增、月全等数据如何加载。

资源库

资源库用来保存连接信息和转换信息。用户通过图形界面创建的的数据库连接和数据转换任务可以保存在资源库中。
资源库可以是各种常见的数据库,用户通过用户名/密码来访问资源库中的资源,默认的用户名/密码是admin/admin。资源库并不是必须的,如果没有资源库,用户还可以把转换任务保存在 xml 文件中。
资源库可以使多用户共享转换任务,转换任务在资源库中是以文件夹形式分组管理的,用户可以自定义文件夹名称。有了资源库,就可以将 transformation/job 保存在数据库里,这样方便共享。

任务

Kettle以任务的方式存在,每个任务就是一个转换流程,以流程图的方式表现,支持各种流程处理模式,包括条件跳转、分支、循环等等,每一个节点就是业务处理单元。业务处理单元可以是SQL语句,也可以是存储过程,还可以是Java程序等等。
Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。主要描述了从各个数据源中抽取数据、转换数据并加载到数据仓库的各个环节及流程。主要功能有数据校验、数据转换规则、数据质量检查、Bug调试错误处理,定时功能、日志跟踪等。

Kettle使用及练习—安装部署

Kettle的下载可以在 http://kettle.pentaho.org/ 网站下载。要求jdk.5以上版本,设置JAVA_HOME 环境变量,.kettle不需要安装,直接解压。运行spoon.bat即能看到kettle的欢迎界面,选择没有资源库,打开kettle主界面,在左边的Main tree,双击transaction,配置DB Connection,点击test,提示成功则表示DB已经配置好了。
注:

  1. Kettle支持跨平台使用,Spoon.bat 是在windows 平台运行,Spoon.sh 是在Linux、Apple OSX、Solaris 平台运行。
  2. spoon.bat 文件中的set OPT=-Xmx256m 改成 set OPT=-Xmx512m,或者更大也可以,否则会在抽取过程中,可能会出现内存溢出的异常

因为kettle7.0是基于jdk1.8的,所以你用1.7的时候会报错,你可以运行SpoonDebug.bat,把完整的报错输出出来。
然后1.8 已经不支持MaxPermSize,所以你要在Spoon.bat中把XX:MaxPermSize修改为MaxMetaspaceSize。


clipboard.png-148.3kB
  1. 只更新、无更新、无删除
    只使用【更新操作】,注意,更新操作的查询字段只能包含PRAMARY KEY,其他字段不能被包含,更新字段要包含全部字段。
  2. 只增加
  3. 增加+更新、无删除
    上述都可以用【插入\更新操作】,注意其中的查询字段同样只需要主键。
  4. 增加+更新+删除
    需要【组合】【多种操作】


😒 留下您对该文章的评价 😄


这篇关于kettle相关知识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095891

相关文章

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

关于Maven生命周期相关命令演示

《关于Maven生命周期相关命令演示》Maven的生命周期分为Clean、Default和Site三个主要阶段,每个阶段包含多个关键步骤,如清理、编译、测试、打包等,通过执行相应的Maven命令,可以... 目录1. Maven 生命周期概述1.1 Clean Lifecycle1.2 Default Li

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

Redis的Hash类型及相关命令小结

《Redis的Hash类型及相关命令小结》edisHash是一种数据结构,用于存储字段和值的映射关系,本文就来介绍一下Redis的Hash类型及相关命令小结,具有一定的参考价值,感兴趣的可以了解一下... 目录HSETHGETHEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSET

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物