![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kettle
文章平均质量分 67
金华松软的我
爬各路神仙,笑百家之短
展开
-
ETL - 什么是 Kettle 及如何安装
前(fei)言(hua)Kettle 使用突破性的元数据驱动方法,提供强大的提取、转换和加载(ETL)功能。那什么是 ETL 呢,维基百科概括的很好:ETLETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过萃取(extract)、转置(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。......原创 2019-03-20 17:20:07 · 387 阅读 · 0 评论 -
ETL - 准备数据库
为了接下去的教程,我们需要先准备数据库,通过新旧数据库的迁移,来演示如何使用 PDI 工具。让我们创建如下数据库结构:旧数据库:订单表:CREATE TABLE `order` ( `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, `code` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8m...原创 2019-03-20 17:19:42 · 519 阅读 · 0 评论 -
ETL - 实战 Kettle 第一讲
PDI 主要有两个部件,一个是转换,另一个是作业,他们之间不同的是作业是同步的,即每一步骤都要等待前一步骤完成,而转换是所有步骤异步运行。对于我们的实战项目,要先将数据迁移填充至新客户表,因为订单表需要客户表的主键id作为它的外键,所以我们首先需要一个作业和两个转换,作业将会一个一个执行转换,第一个转换是迁移客户表数据,第二个则是将订单表拆分,和客户表关联。让我们创建一个新的转换,并填充旧...原创 2019-03-20 17:20:16 · 774 阅读 · 2 评论 -
ETL - 实战 Kettle 第二讲
前(fei)言(hua)现在我们开始较为复杂的转换,我们需要来自两个数据库的关联数据。我们需要来自旧数据库的订单数据,还需要来自新数据库的客户表主键 id 和 name 来填充外键。我们将创建两个表输入、一个记录集连接(关联)和一个表输出。创建一个新的转换,另存为“订单客户关联数据迁移”。创建一个步骤表输入,新建数据库连接,为该步骤指定一个名称,编写查询,也可以直接点击获取SQL查询语句按...原创 2019-03-20 17:20:26 · 435 阅读 · 0 评论 -
ETL - 实战 Kettle 第三讲
前(fei)言(hua)在填充数据的时候,如果是测试数据,我们会经常发现有重复数据,这时候我们可以在表输入中,使用 distinct 语句去重,但是如果几行重复数据中,有一些诸如创建时间、更新时间等无关字段不同时,语句去重就达不到目的,这时候,我们就可以用PDI提供的去除重复记录步骤来实现,它的方便不在于能去除重复行数据,甚至可以去重指定字段,你只需在需要去重的步骤后添加即可。搜索步骤去除重...原创 2019-03-20 17:20:34 · 444 阅读 · 0 评论 -
ETL - 收尾
收尾现在我们已经准备好了转换,但是一个接一个地执行转换会很不方便。我们可以创造一项工作来为我们完成这些转换。创建一个名为 “数据迁移.kjb” 的新作业。添加 Start 步骤,它是一个执行开关。添加变换。在步骤配置中,您可以选择一个转换文件。选择我们创建的第一个转换。使用第二个转换创建另一个步骤。现在加上表示成功的步骤,标志着工作的完成。步骤之间的联系如截图所示,点击运行就可以了...原创 2019-03-20 17:20:42 · 299 阅读 · 0 评论