银行数仓项目实战(二)--数据采集(Kettle的抽取(E)转换(T)加载(L))

2024-06-19 11:04

本文主要是介绍银行数仓项目实战(二)--数据采集(Kettle的抽取(E)转换(T)加载(L)),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Kettle安装

Kettle又名PDI
要求电脑中有Java环境。
下载Kettle9.0的安装包,如有需要可以联系up私发噢。
注意!!!
解压路径不能有中文,空格
解压后双击spoon.bat即可使用
链接数据库需要相应的驱动,Oracle的驱动是OJDBC,导入到相应的文件夹中
在这里插入图片描述
在这里插入图片描述
之后需要重启Kettle

ETL:Extract(抽取)-translate(转换)-load(加载)
Kettle是一个ETL工具。

Kettle使用

在这里插入图片描述
打开Kettle
创建资料库
点击connect
选择Other Repositories

1.Database Repository

是数据库资料库(需要连接数据库)
点击Create
输入对应的数据库实例即可
Oracle如下:
在这里插入图片描述
不推荐


2.File Repository

文件资料库
开始创建
起名
选择路径(路径不能有中文!!!!!)
点击finish
接下来做的所有东西都存到新建的文件夹中
连接即可


Kettle可以将数据从源抽取到目标
首先需要Kettle能连接源,又能连接目标

Kettle连接数据库

文件-新建-转换
在这里插入图片描述
右键DB连接,新建连接,添加源数据库
新建DB连接,添加目标数据库
在这里插入图片描述

输入代表源
输出代表目标
在这里插入图片描述
从输入中,拖出表输入到页面
在这里插入图片描述
同样,添加表输出
按住shift连接表输入输出。双击输入输出,根据源,目标对应的数据库实例添加表。
在表输出中选择数据库字段,将其与源一一对应
表字段是目标表的字段,流字段是源表的字段。需要一一对应,否则数据与字段有可能不对应
在这里插入图片描述
添加完之后点击开始即可抽取数据到目标中。
这就完成了数据的E L 即抽取,加载

转换

在这里插入图片描述
都是对应的SQL语句,自己脑海里对应一下

concat fields 合并列

将empname,job合并 添加到目标表中
1.首先修改目标表结构

alter table emp72 add ej varchar2(50)

通过Kettle将数据插入
在这里插入图片描述
将concat fields添加到线中
双击
在这里插入图片描述
添加如下
运行即可

值映射

在这里插入图片描述
得到结果如下
在这里插入图片描述

去重

如果使用去除重复记录按钮去重,需要先排序,不然会出错
在这里插入图片描述
去重完的结果是排序后的
还可以使用唯一行去重,去重的结果是未排序的,但这个去重方法效率更高,如下图在这里插入图片描述

列转行

同样,需要先将表进行排序
在这里插入图片描述
双击列转行
在这里插入图片描述

需要转行的字段值写进目标字段

内容写进数据字段

起别名(关键字值)

列拆分多行

在这里插入图片描述
双击列拆分多行,选择要拆分的字段,设置分割符,设置新字段名称
在这里插入图片描述
各个组件的用法都跟上面的差不多
注意输入输出后,该组件后面的步骤都需要改变输入字段。(手动匹配中删除之前的对应关系,把新的字段名将其对应)

这篇关于银行数仓项目实战(二)--数据采集(Kettle的抽取(E)转换(T)加载(L))的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Android ClassLoader加载机制详解

《AndroidClassLoader加载机制详解》Android的ClassLoader负责加载.dex文件,基于双亲委派模型,支持热修复和插件化,需注意类冲突、内存泄漏和兼容性问题,本文给大家介... 目录一、ClassLoader概述1.1 类加载的基本概念1.2 android与Java Class