Kettle 实战教程

news2024/11/13 22:24:28

Kettle 实战教程

1.引言....................................................................................8

1.1 编写目的...........................................................8

1.2 阅读对象...........................................................9

1.3 术语和定义.......................................................9

1.3.1 资源库..........................................................9

1.3.2 Transformation...........................................9

1.3.3 Job..............................................................10

1.3.4 Hop.............................................................10

1.3.3.1 Transformation hop.....................10

1.3.3.2 Job hop..........................................10

1.3.5 Chef............................................................10

1.3.6 Kitchen........................................................10

1.3.7 Spoon...........................................................11

1.3.8 Pan................................................................11

2. 产品介绍.......................................................................11

2.1 什么是ETL...........................................................11

2.1.1 ETL 概念之背景.............................................11

2.1.2 ETL 概念之工作流程......................................12

2.1.3 ETL 概念之操作步骤.......................................13

2.2 什么是 kettle..........................................................14

2.2.1 什么是kettle?..................................................14

2.2.2 主要功能............................................................15

2.3 Kettle 的整体结构图.............................................15

2.4 运行环境.................................................................15

2.5 支持的 DB 种类.....................................................16

2.6 支持的操作系统.....................................................16

2.7 支持的文件类型.....................................................16

2.8 安装说明.................................................................16

2.8.1 Window 下安装................................................16

2.8.2 Linux 下安装...................................................16

3. 使用须知............................................................................17

4. 产品功能及使用............................................................17

4.1 资源库...........................................................................17

4.2 数据源...........................................................................19

4.3 转换...............................................................................20

4.3.1 输入.....................................................................20

4.3.1.1 生成记录................................................20

4.3.1.2 自定义常量数据...................................20

4.3.1.3 获取表名................................................21

4.3.1.4 获取系统信息.........................................23

4.3.1.5 表输入....................................................23

4.3.1.6 文本文件输入.........................................24

4.3.1.7 Xml 文件输入.........................................25

4.3.1.8 Excel 输入.............................................26

4.3.1.9 CSV 输入...............................................27

4.3.1.10 Json 输入...............................................28

4.3.2 输出......................................................................28

4.3.2.1 表输出.....................................................28

4.3.2.2 插入/更新...............................................29

4.3.2.3 更新..........................................................31

4.3.2.4 删除..........................................................31

4.3.2.5 文本文件输出...........................................32

4.3.2.6 Xml 文件输出...........................................33

4.3.2.7 Excel 文件输出........................................34

4.3.2.8 Json 输出..................................................35

4.3.2.9 Sql 文件输出............................................36

4.3.3 转换..........................................................................37

4.3.3.1 值映射.........................................................37

4.3.3.2 剪切字符串.................................................38

4.3.3.3 去除重复记录..............................................39

4.3.3.4 唯一行.........................................................40

4.3.3.5 增加常量.......................................................40

4.3.3.6 增加序列.......................................................41

4.3.3.7 字段选择.......................................................41

4.3.3.8 字符串操作......................................................42

4.3.3.9 字符串替换......................................................43

4.3.3.10 排序记录..........................................................43

4.3.3.11 设置字段值......................................................44

4.3.3.12 计算器..............................................................45

4.3.4 应用...............................................................................46

4.3.5 流程...............................................................................46

4.3.5.1 Switch / Case...............................................46

4.3.5.2 中止................................................................47

4.3.5.3 执行作业...........................................................47

4.3.5.4 检测空流...........................................................48

4.3.5.5 空操作................................................................49

4.3.5.6 识别流的最后一行.............................................49

4.3.5.7 过滤记录............................................................50

4.3.6 脚本.................................................................................51

4.3.6.1 Java 代码...........................................................51

4.3.6.2 Javascript 代码..................................................51

4.3.6.3 执行 sql 脚本.......................................................52

4.3.6.4 正则表达式...........................................................53

4.3.7 查询....................................................................................54

4.3.7.1 调用DB 存储过程.................................................54

4.3.7.2 流查询....................................................................55

4.3.7.3 数据库查询.............................................................56

4.3.8 连接......................................................................................58

4.3.8.1 合并记录................................................................58

4.3.8.2 排序合并................................................................59

4.3.8.3 记录关联(笛卡尔输出)............................................59

4.3.8.4 记录集连接.............................................................60

4.3.9 数据仓库...............................................................................61

4.3.9.1 维度查询/更新.......................................................61

4.3.9.2 联合查询/更新.......................................................62

4.3.10 作业...............................................................................63

4.3.11.1 设置变量...................................................................63

4.3.11.2 获取变量...................................................................63

4.3.11.3 复制记录到结果........................................................64

4.3.11.4 从结果中获取记录....................................................65

4.3.11 批量加载........................................................................65

4.3.11.5 ORACLE 批量加载.................................................65

4.4 作业..................................................................................................67

4.4.1 通用........................................................................................67

4.4.1.1 START.....................................................................67

4.4.1.2 DUMMY...................................................................67

4.4.1.3 作业..........................................................................68

4.4.1.4 成功...........................................................................69

4.4.1.5 设置变量...................................................................69

4.4.1.6 转换..........................................................................70

4.4.2 邮件.......................................................................................71

4.4.2.1 发送邮件...................................................................71

4.4.2.2 邮件验证..................................................................72

4.4.3 文件管理.................................................................................73

4.4.3.1 创建目录...................................................................73

4.4.3.2 创建文件...................................................................74

4.4.3.3 删除目录...................................................................74

4.4.3.4 删除一个文件.............................................................74

4.4.3.5 删除多个文件.............................................................75

4.4.4 条件...........................................................................................75

4.4.4.1 检查目录是否为空.......................................................75

4.4.4.2 检查一个文件是否存在................................................76

4.4.4.3 检查多个文件是否存在................................................76

4.4.4.4 检查文件是否被锁........................................................77

4.4.4.5 检查数据库连接............................................................78

4.4.4.6 检查表是否存在............................................................79

4.4.4.7 检查列是否存在............................................................79

4.4.4.8 检验字段的值................................................................80

4.4.4.9 计算表中的记录数.........................................................81

4.4.4.10 等待................................................................................82

4.4.4.11 计算文件的大小和个数.................................................83

4.4.5 脚本............................................................................................84

4.4.5.1 Shell............................................................................84

4.4.5.2 Sql...............................................................................85

4.4.5.3 使用 javascript 脚本验证...........................................86

4.5 资源导出.............................................................................................87

4.6 资源导入............................................................................................88

4.7 分区....................................................................................................88

4.8 集群....................................................................................................88

5. 示例演示.................................................................................................88

5.1 数据定时自动(自动抽取) 同步作业.....................................................89

5.1 两表数据比较,比较后自动同步(部门、单位数据同步) ..................100

6. 应用部署..............................................................................................107

6.1 运行方式...................................................................................107

7. 常见问题及解答.............................................................................108

8. 总结..........................................................................................................113

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

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

相关文章

DBCO-SS-Mal;DBCO二硫键-马来酰亚胺-点击化学

DBCO-SS-Maleimide;Mal-SS-DBCO 英 文 :DBCO-SS-Maleimide 中文:二苯并环辛炔-二硫键-马来酰亚胺 分子式:C30H30N4O5S2 分子量:590.71 存储条件:-20C,避光,避湿 用 途&#xff…

做自媒体,有哪些好用的工具和软件,这6大自媒体工具,力荐!

工具一:效率控 效率控是一个汇集很多工具的工具APP。使用它可以用来习惯养成,表情制作,二维码生成,倒数日,文字识别,配色方案等等。 它特别一个亮点的功能是剪切板增强,还有一个特别实用的功能是…

DevStyle,一个让Java开发更现代化的工具!

如果您喜欢Eclipse的强大功能,但对它的可用性和美观度没有很高的要求,那么从今天开始,请准备好从全新的角度来看待Eclipse。在之前暗黑的插件基础上,MyEclipse官方团队为大家带来了DevStyle。使用DevStyle,开发人员可以…

小程序提升篇-组件

提升篇学习目标如何自定义小程序组件小程序组件中behaviors的作用安装和配置vant-weapp组件库如何使用MobX实现全局数据共享如何对小程序API进行Promise化小程序组件学习目标创建并引用组件(全局、局部、usingComponent)修改组件样式(option-…

Java JVM:字节码执行引擎(六)

执行引擎是 Java 虚拟机核心的组成部分之一,执行引擎由软件自行实现 目录一、运行时栈帧结构二、方法调用三、基于栈的字节码解释执行引擎四、OSGI:灵活的类加载器架构一、运行时栈帧结构 Java 虚拟机以方法作为最基本的执行单元,“栈帧”则…

如何用ffmpeg截取视频片段 以及 截取时间不准确的坑

之前在工作中,有遇到需要程序化截取视频片段的场景,这里使用ffmpeg命令行就可以很容易实现,这里也记录下我们使用过程中遇到的坑,希望对大家也有所帮助。    举个例子,当我们要截取视频文件中input.mp4的第15秒到第9…

【C语言练习】逻辑分析题

目录题目一:求名次题目详情:解题思路:题目二:找凶手题目详情:解题思路:题目一:求名次 题目详情: 5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A…

(02)Cartographer源码无死角解析-(52) 2D点云扫描匹配→ceres扫描匹配:CeresScanMatcher2D→栅格地图残差

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文末…

上海洲邦携手图扑建设数字孪生工厂,获 2022 智能制造优秀场景

前言 12 月 2 日,工信部公示了 2022 年度智能制造示范工厂揭榜单位和优秀场景名单。图扑软件和上海洲邦合作建设的宁波甬友数字孪生工厂被评为优秀场景,全国共有 369 个智能制造典型场景入选。 《智能制造试点示范行动实施方案》包括智能制造优秀场景和…

ESP-IDF:快速排序测试

ESP-IDF:快速排序测试 /快速排序测试/ void printArray(int arr[], int len) { for (int i 0; i < len; i) { cout << arr[i] << " "; } cout << endl; } void QuickSort(int arr[], int start, int end) { int i start; int j end; // 找…

【IoT】蔽障智能车设计:带有无线调试系统的蔽障小车

说明 近年来随着计算机在社会领域的渗透和大规模集成电路的发展&#xff0c;单片机的应用正在不断地走向深入&#xff0c;由于它具有功能强&#xff0c;体积小&#xff0c;功耗低&#xff0c;价格便宜&#xff0c;工作可靠&#xff0c;使用方便等特点&#xff0c;因此越来越广…

Activiti7工作流-使用idea插件actiBPM设计请假流程---工作流工作笔记005

首先我们看一下我们之前写的测试类, ProcessEngine 这个流程引擎,打开 看源码可以看到有几个常用的, HistoryService就是用来管理之前_hi表的,关于历史的 TaskService用来管理任务的 RuntimeService用来管理_run那些运行时的表的 然后我们还可以通过,上面定义的processEngi…

程序员的成长离不开哪些软技能?

道破一个残忍的真相&#xff1a;一个程序员的成长往往是软技能&#xff1e;硬技能&#xff0c;想纯靠技术能力一路挺过35岁基本是不可能的任务&#xff0c;作为一个优秀的程序员&#xff0c;离不开以下这些软技能。 较真 所有在技术上的较真都是一次专业技能的提升&#xff0…

Ruoyi-Cloud框架学习-【07 新增功能模块】

根据该博客新建模块后&#xff0c;在添加具体的数据表实现增删改查 在ruoyi-cloud中建立数据表 新建business_device表中【与gen_table、gen_table_column在一个库】 CREATE TABLE business_device (id bigint NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(255) COLLA…

USB转双串口芯片 CH342 兼容替代CP2105

概述CH342是一个USB总线的转接芯片&#xff0c;实现USB转两个异步串口。每个串口都支持高速全双工&#xff0c;支持奇偶校验&#xff0c;提供了常用的MODEM联络信号&#xff0c;用于为计算机扩展异步串口&#xff0c;或者将普通的串口设备或者MCU直接升级到USB总线。特点全速US…

PySpark数据分析基础:核心数据集RDD原理以及操作一文详解(一)

目录 前言 一、RDD概念 二、RDD与DataFrame之间的区别 特性区别 本质区别 三、PySpark中RDD的操作 1.aggregate 2.aggregateByKey 3.map 4.mapPartitions 5.getNumPartitions 6. glom() 点关注&#xff0c;防走丢&#xff0c;如有纰漏之处&#xff0c;请留言指教&am…

< 每日算法 - JavaScript解析:用两个栈实现队列 >

每日算法 - JavaScript解析&#xff1a;用两个栈实现队列一、任务描述&#xff1a;拓展知识二、问题解析三、解决方案&#xff1a;参考文献往期内容 &#x1f4a8;一、任务描述&#xff1a; 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和…

JS扩展运算符(...)的用法

参考链接&#xff1a; 本文可以说是完全抄写的参考链接的内容&#xff0c;本文的目的只用于自己进行记录&#xff0c;加深理解。原文参考链接 一、定义&#xff1a; 扩展运算符(...)是ES6的新增语法&#xff0c;用于取出参数对象中的所有可遍历属性&#xff0c;然后拷贝到当前…

vue移动端适配方案

一、基于rem的适配方案 rem是什么&#xff1f; rem是指相对于根元素的字体大小的单位&#xff0c;在日常开发过程中我们通常把根元素&#xff08;html/body&#xff09;的字体设置为10px,方便于我们计算&#xff08;此时子元素的1rem就相当于10px&#xff09;。 适用场景 不…

开学季,给上小学的孩子送什么比较好?小学生比较实用的礼物

很快来临开学的日子&#xff0c;对于上小学的孩子们&#xff0c;送写学习用具之类&#xff0c;或者是孩子自身喜欢的玩具也可以的&#xff0c;但是因为大部分小朋友在学习时都会眨眼睛&#xff0c;也有些近视的现象了&#xff0c;所以我会选择送护眼的用具比较合适的&#xff0…