ETL简介以及使用ETL(Kettle)进行数据接入的具体例子

embedded/2024/12/22 15:12:03/

目录

ETL介绍

ETL简介

ETL包含的三部分

ETL基本概念

ETL资源库

ETL变量

业务表梳理以及接入规划

数据接入流程

业务表梳理

ETL任务规范

接入规划

数据接入中的方便工具

具体例子

导出生产表信息

1、ORACLE

2、MYSQL

ETL数据增量抽取任务开发

1、ORACLE通用流程

ORACLE通用流程图所需建立临时表

2、接口接入流程举例

3、文件数据从FTP获取、解压、解析与入库流程举例

任务调度


ETL介绍

ETL简介

ETLExtratctionTransformation and Loading)是构建数据仓库的基础技术,也是批量数据交换的基础技术,是将数据从源抽取、转换、整合、清洗并加载到目标的过程。

ETL包含的三部分

  1. 一.数据抽取:即确定数据源,采集原始数据,通过不同的数据接口,从不同的数据源中抽取数据。
  2. 二.数据转换:指接收来自不同系统的输入并将其转换成目标需要的格式的过程,包括数据的各种统计、合并、汇总、查询、过滤、排序、函数计算、合并拆分、转换等。数据清洗是对抽取的数据进行有效性检查,从中去除无效、重复、错误记录的过程。
  3. .   数据装载:负责将数据按照目标数据库元数据定义的表结构装入目标系统,即对经过前几步清洗和转换后的数据进行存储。

ETL基本概念

  • 步骤:ETL的基本构成块,最小的功能单位。
  • 转换:由多个步骤组成的业务处理流程。
  • 作业:由多个步骤和转换组成的业务流程。
  • 跳:步骤之间的关系,也可以看做步骤间的缓存。

ETL资源库

用来保存转换和作业的数据库。

ETL变量

命名参数:
变量的一种,作为转换或作业参数使用。
通过改变命名参数,可以实现流程的复用。

业务表梳理以及接入规划

数据接入流程

业务表梳理

ETL任务规范

接入规划

数据接入中的方便工具

1Excel

2、文本编辑器

具体例子

导出生产表信息

1、ORACLE

with tmp as (
SELECT A.CONSTRAINT_NAME tmp1,A.table_name tmp2,A.COLUMN_NAME tmp3
FROMall_cons_columns A,all_constraints b 
WHEREA.CONSTRAINT_NAME = b.CONSTRAINT_NAME AND b.constraint_type = 'P'-- AND A.OWNER = 'XRAPUSER'-- AND A.TABLE_NAME = 'AGZX_HLWPJ'
)SELECT '62.64.13.44'       AS IP,'xxx'               AS SYS,A.OWNER,A.TABLE_NAME        AS TABLE_NAME_EN      --英文表名,B.COMMENTS          AS TABLE_NAME_CN      --中文表名,A.COLUMN_ID                               --字段序号,A.COLUMN_NAME       AS COLUMN_NAME_EN     --字段名称,C.COMMENTS          AS COLUMN_NAME_CN     --字段注释,A.DATA_TYPE               --字段类型,A.CHAR_LENGTH             --字段长度,A.DATA_LENGTH             --数据长度,A.DATA_PRECISION          --数据精度,A.DATA_SCALE              --小数位,case when tmp.tmp1 is not null then 'Y' else null end as primary_keyFROM ALL_TAB_COLUMNS A          --表与字段信息LEFT JOIN ALL_TAB_COMMENTS B   --表名信息ON B.OWNER = A.OWNERAND B.TABLE_NAME = A.TABLE_NAMELEFT JOIN ALL_COL_COMMENTS C   --字段名信息ON C.OWNER = A.OWNERAND C.TABLE_NAME = A.TABLE_NAME AND C.COLUMN_NAME = A.COLUMN_NAMEleft join tmp on tmp.tmp2 = A.TABLE_NAME and tmp.tmp3 = A.COLUMN_NAMEWHERE A.OWNER = 'XRAPUSER' 
ORDER BY A.OWNER,A.TABLE_NAME,A.COLUMN_ID 

2、MYSQL

SELECT "62.64.39.135"      AS IP,"sfbz"               AS SYS,TABLE_SCHEMA,TABLE_NAME        AS TABLE_NAME_EN      		," "          AS TABLE_NAME_CN     						,ORDINAL_POSITION                           		,COLUMN_NAME       AS COLUMN_NAME_EN   				,COLUMN_COMMENT          AS COLUMN_NAME_CN  ,DATA_TYPE               											,CHARACTER_MAXIMUM_LENGTH            					,CHARACTER_OCTET_LENGTH            						,NUMERIC_PRECISION        											,NUMERIC_SCALE            									," " as primary_key,COLUMN_TYPEFROM information_schema.columns  where table_name like "result_%" and table_schema="dzzyk" order by TABLE_NAME_EN ,ORDINAL_POSITION

ETL数据增量抽取任务开发

下列例子中的KTR流程,思路打通,其实开发还是比较顺畅,如果有需要下面流程参考的大佬可以一起交流,关于Kettle具体使用各个组件的方法,后续可以再出文章介绍。

1、ORACLE通用流程

本流程主要是使用Oracle的ORA_ROW_SCN字段来做增量的,可以参考。

当然,具体要使用这个流程的话,还有中间表需要建立:

ORACLE通用流程图所需建立临时表

2、接口接入流程举例

全量请求证件号码接口,数据入库

增量请求抓拍数据接口,数据入库:

3、文件数据从FTP获取、解压、解析与入库流程举例

任务调度

对CS端开发的任务进行周期性、一次性调度。


http://www.ppmy.cn/embedded/25488.html

相关文章

C#知识|面向对象编程中实例方法的封装与应用总结

哈喽,你好,我是雷工! 本节学习面向对象编程中实例方法的封装与应用,以下为学习笔记。 01 方法定义 访问修饰符 返回值类型 方法名(参数1,参数2……) {//此处编写方法的主要内容,功能实现的具体过程 return 返回值;//如果方法有返回值需要此语句,如果没有返回值,那…

《Kafka 3.x.x 入门到精通》

Kafka 3.x.x 入门到精通 Kafka是一个由Scala和Java语言开发的,经典高吞吐量的分布式消息发布和订阅系统,也是大数据技术领域中用作数据交换的核心组件之一。以高吞吐,低延迟,高伸缩,高可靠性,高并发&#x…

安装docker后部署一个redis服务

安装 Docker 后,您可以使用 Docker Hub 上提供的 Redis 镜像轻松部署 Redis 服务。以下是在 Docker 中部署 Redis 服务的步骤: 1. 拉取 Redis 镜像: 使用以下命令从 Docker Hub 拉取 Redis 镜像: docker pull redis2. 运行 Red…

yarn的安装与使用

Yarn的安装与使用主要涉及到以下几个步骤: 安装Yarn: 首先,确保您的系统中已安装Node.js和npm。Yarn可以在Windows、MacOS和Linux上运行。使用npm安装Yarn。运行命令npm install -g yarn来安装和升级Yarn。安装完成后,通过运行y…

(Askchat.ai、ChatAI、智友AI、AI写作生成器助手、在线AI助手)分享好用的ChatGPT

目录 1、Askchat.ai - 梦想为蓝图,ChatGPT为笔。 2、ChatAI 3、智友AI - MyChatGPT 4、AI写作生成器助手

与Apollo共创生态:让汽车更聪明,让出行更简单

目录 前言Apollo X 企业解决方案Studio X 企业协同开发工具链Apollo开放平台携手伙伴共创生态Apollo开发平台生态共创计划 前言 百度2013年开始布局自动驾驶,2017年推出全球首个自动驾驶开放平台Apollo。目前百度Apollo已经在自动驾驶、智能汽车、智能地图等领域拥有…

大模型应用开发极简入门

简单的归纳一下书的前序部分 目录 LLM(Large Language Model)的应用技术栈通常包括以下几个方面: 深度学习框架: 数据预处理工具: 训练资源: 模型优化和调参工具: 部署和应用集成&#xf…

字符串函数、内存函数——补充

目录 前言 1、strchr函数 1-1 函数介绍 1-1-1 函数功能 1-1-2 函数原型 1-1-3 函数参数 1-1-4 所属库 1-1-5 函数返回值 1-2 函数简单使用 1-3 函数使用场景 1-4 函数的使用总结 1-4-1 注意事项 2、strrchr函数 2-1 函数介绍 2-1-1 函数功能 2-1-2 函数原型 2…