使用Kettle做数据迁移

news2024/12/26 10:52:59

1.Kettle简介

Kettle是一个颇受认可的开源ETL(Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程)工具,2006年被Pentaho收购,2015年又被Hitachi Vantara收购,正式命名为PDI。 PDI EE(企业商用版)改进了PDI CE(开源社区版)在作业调度监控、系统安全机制、高可用性架构、对接SAP、对接Hadoop、对接AI/ML、 自助式DI/BI等方面之不足,尤其是凭借着原厂兜底的专业技术支持服务保障,获得企业客户广泛青睐。

Kettle使用纯Java编写,可以在Window、Linux、Unix上运行,无需安装。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。Kettle这个ETL工具集,它允许用户管理来自不同存储方式的数据,通过提供一个图形化的管理工具来设计转换过程。Kettle中有两种脚本文件,transformation(转换)和job(作业),transformation完成针对数据的基础转换,job则完成整个工作流的控制。

源码地址:GitHub - pentaho/pentaho-kettle: Pentaho Data Integration ( ETL ) a.k.a Kettle

官方下载地址: https://www.hitachivantara.com/en-us/products/pentaho-platform/data-integration-analytics/pentaho-community-edition.html

2.Kettle的核心组件

2.1.主要工具介绍

  1. Spoon:启动GUI的编辑工具,用来设计转换和作业。
  2. Pan:命令行工具,用于执行转换。
  3. Kitchen:用于执行作业的命令行工具。Pan的参数与Kitchen基本一致。
  4. Carte:启用一个轻量级的Web容器,用于建立专用、远程的ETL Server。

2.2.概念模型

Kettle 的执行分为两个层次:Job(作业,.kjb 后缀)和 Transformation(转换,.ktr 后缀)。转换是执行任务的最小单位,包括各种数据结构及存储方式的转换,可以通过Pan命令单独执行。若一个转换中包含多个数据转换,则并发执行这些数据转换,所以转换是数据流,关注数据来源和转换结果及目的地。作业完成转换之外的其他工作,可以集成多个转换和作业,一般以Start节点开始,以Success结束。作业专注的是操作流程,是按指定顺序支持的。

 3.部署

待续...

参考:

Kettle教程一:Kettle简介和Kettle的部署安装-腾讯云开发者社区-腾讯云

kettle入门实战 - 知乎

大数据 ETL 处理工具 Kettle 入门实践 - 知乎

Use Command Line Tools to Run Transformations and Jobs - Hitachi Vantara Lumada and Pentaho Documentation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASP.NET Core MVC 从入门到精通之Filter

随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生&#xff0c…

【数据分享】1929-2022年全球站点的逐月降雪深度数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

JavaScript排序sort()方法(解决null、undefined、0之间的排序(混乱)问题)

问题: 如果数组内某一对象为空值,排序是怎样的呢?(显然并不是按年龄顺序排序的,因为存在null和undefined) var arr[{"age":24,name:zs},{"age":0,name:ls},{"age":0,name:gr},{"…

数据结构算法 -分而治之算法

引言 坤坤是一个养鸡场的员工,他非常热爱他的工作,并且总是努力提高他的专业技能。有一天,养鸡场接到了一项任务:在短时间内处理一批大量的鸡。 这批鸡数量非常大,比普通的数量要多得多,坤坤意识到他们需…

作业(Job)——OS

目录 1、批处理作业 2、交互式作业 小结:作业、进程、线程 作业概念 :用户要求计算机系统为其完成的计算任务集合。 作业步(job step) :作业处理过程中一个相对独立的步骤 一般一个作业步可由一个进程完成某些作业步之间可以并…

2023世界人工智能大会-图技术高峰论坛重磅来袭!邀您共同参与!

2023年7月6-8日,一年一度的世界人工智能大会(WAIC)即将拉开帷幕。创邻科技作为大会的战略合作伙伴,将承办第三届图技术高峰论坛。 过去两届图技术论坛,分别以“大数据关联”和“AI应用”为关键词,邀请图技…

基于ChatGPT的端到端语音聊天机器人项目实战(一)

基于ChatGPT的端到端语音聊天机器人项目实战 ChatGPT API后台开发实战 本节主要是跟大家分享一个端到端的基于模型驱动的对话机器人,会有前端和后端,也会有一些具体模型的调用,读者需具有Python语言编程的基础,这是前置性的条件,有了这个基础,理论上讲本节所有的内容,…

Sui Move HackerHouse预热开启,9月大理见

9月3日,Sui Move 主题的 Antalpha HackerHouse 将在大理举办,为期 21 天,向所有 Web3 开发者发出 co-buidling & co-living 邀请。 本期 HackerHouse 由 Antalpha Labs 发起,Sui Foundation赞助,MoveFuns DAO、No…

魔视智能MOTOVIS入选世界经济论坛「2023年度技术先锋」

○世界经济论坛(World Economic Forum)宣布从全球范围内选出了100家最有前途的技术先锋企业,这些企业致力于解决可持续性、气候变化和医疗保健等问题。 ○作为嵌入式人工智能自动驾驶的推动者,魔视智能MOTOVI…

项目管理,到底管什么?

在以前,项目管理职能单一且明确的时候,大家对项目管理的认知还比较统一:一个项目经理带领一个团队完成一个项目。 而在现在的环境下,尤其是互联网,项目经理的职能和定位以不同公司、不同老板、不同需要而参差不齐&…

制造业数字化转型解决方案

制造业数字化转型解决方案 数字化转型已成为制造业发展的必由之路,要提高生产制造水平,就需要提高对生产运营各环节数据的采集、处理和利用效率。当前的工业数据采集仍存在种种不足,现可以利用具有强大设备接入能力、通信协议转换能力、数据…

多线程(十):总结

本章用来处理一下之前遗漏的很多问题,在多线程那一章,很多常见面试题都没有讲,这里再来补充一下。 HashTable, HashMap, ConcurrentHashMap 之间的区别 HashTable, HashMap, ConcurrentHashMap 都带有Map,它们其实都是 Map 的接…

数据库设计软件Power Designer详解教程(附源码)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Power Designer概述 Power Designer 是美国Sybase公司的CASE工具集,利用Power Designer可分别从概念数据模型(Conceptual Data Model)和物理数据模型(Physical D…

如何查看某个starter的详细官方文档

\qquad 相信很多小伙伴在用到一个没怎么接触过的starter的时候,也有不知道怎么使用,怎么配置的苦恼,本文介绍一种大部分开源技术都能使用的查看官方文档的方式。 1.首先在github搜索相关技术 \qquad 这里以redis为例,如下&#x…

QT学习之旅 - network连接

文章目录 网络知识点IP地址IPv4和IPv6 端口号(协议端口)端口分类UDP端口和TCP端口 networkpro文件.h文件.cpp文件 UDP连接绑定端口绑定成功后等待对方进行连接点击发送源码扩展: nodejs-udp服务端(用于跟QT程序进行通信)现象 网络知识点 IP地址 192.168.127.170(√) 192.168.…

结构化GPT用例,在CSDN私密社区中死磕@ada 探索SpringBoot

在CSDN私密社区中死磕ada 探索SpringBoot Q: Spring的核心概念是哪些?Q: Spring MVC的核心概念是哪些?Q: SpringBoot的核心概念有哪些?Q: 介绍下SpringBoot AutoConfiguration的机制。Q: SpringBootConfiguration 和 Configuration 的区别是&…

使用esp32+micropython+microdot搭建web(http+websocket)服务器(超详细)第二部分

使用esp32micropythonmicrodot搭建web(httpwebsocket)服务器(超详细)第二部分 microdot文档速查 什么是Microdot?Microdot是一个可以在micropython中搭建物联网web服务器的框架micropyton文档api速查 Quick reference for the ESP32 实现http服务器 …

基于cycle of curves的Nova证明系统

1. 引言 主要见斯坦福大学Wilson Nguyen、Dan Boneh和微软研究中心Srinath Setty 2023年论文《Revisiting the Nova Proof System on a Cycle of Curves》。 前序博客有: Nova: Recursive Zero-Knowledge Arguments from Folding Schemes学习笔记 在2021年Nova …

Java线程的六种状态(付代码解释)

目录 一.新建状态 (New) 解释 代码 运行结果 ​编辑 二.运行状态(Runnable) 解释 代码 运行结果 三.等待状态(Waiting) 解释 代码 运行结果 四.阻塞状态(Blocked) 解释 代码 运行结果 五.计时等待状态(…

PCB设计系列分享-开关稳压器接地处理

目录 概要 整体架构流程 技术名词解释 1.DCDC: 2.PGND: 3.AGND: 技术细节 1.认识1 2.认识2 3.综合 小结 概要 提示:这里可以添加技术概要 如何使用带有模拟接地层(AGND)和功率接地层(PGND)的开关稳压器? 这是许多开发人员在设计…