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

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置