银行数仓项目实战(二)--数据采集(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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java轻松实现PDF转换为PDF/A的示例代码

《Java轻松实现PDF转换为PDF/A的示例代码》本文将深入探讨Java环境下,如何利用专业工具将PDF转换为PDF/A格式,为数字文档的永续保存提供可靠方案,文中的示例代码讲解详细,感兴趣的小伙伴... 目录为什么需要将PDF转换为PDF/A使用Spire.PDF for Java进行转换前的准备通过

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程