当前位置: 首页 > news >正文

大数据ETL工具Kettle

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
    • 最近公司在搞大数据数字化,有MES,CIM,WorkFlow等等N多的系统,不同的数据源DB,需要将这些不同的数据源DB里的数据进行整治统一中间库,这就需要用到ETL
  • 一、ETL工具是什么?
  • 二、使用步骤
    • 1.Kettle软件环境
    • 2.ETL工具Kettle组件
  • 三、实例-增量同步数据
    • 1.配置表的设计
    • 2.创建Transformation(转换)
    • 3.Jobs(作业)
    • 4.设置变量
    • 5.执行成功
  • 总结


前言

提示:这里可以添加本文要记录的大概内容:

最近公司在搞大数据数字化,有MES,CIM,WorkFlow等等N多的系统,不同的数据源DB,需要将这些不同的数据源DB里的数据进行整治统一中间库,这就需要用到ETL

提示:以下是本篇文章正文内容,下面案例可供参考

一、ETL工具是什么?

ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据, ETL是BI(商业智能)项目重要的一个环节。ETL工具有DataX,Kettle,Sqoop等
Kettle组成部分:
在这里插入图片描述

二、使用步骤

1.Kettle软件环境

操作系统:Windows Server 2012
虚机机:Java JDK
ETL工具:Kettle

2.ETL工具Kettle组件

Kettle中有两种脚本文件,transformation(转换)和job(作业),transformation完成针对数据的基础转换,job则完成整个工作流的控制
Transformation(转换):
  是由一系列被称之为step(步骤)的逻辑工作的网络。转换本质上是数据流。下图是一个转换的例子,这个转换从文本文件中读取数据,过滤,然后排序,最后将数据加载到数据库。本质上,转换是一组图形化的数据转换配置的逻辑结构,转换的两个相关的主要组成部分是step(步骤)和hops(节点连接),转换文件的扩展名是.ktr。
Jobs(作业):
  是基于工作流模型的,协调数据源、执行过程和相关依赖性的ETL活动,Jobs(工作)将功能性和实体过程聚合在了一起,工作由工作节点连接、工作实体和工作设置组成,工作文件的扩展名是.kjb。

三、实例-增量同步数据

1.配置表的设计

CIM_ETL_TABLE
首先我们需要一张配置表,来保存我们要增量同步的表的基本信息
在这里插入图片描述
一些基础表

-- 源表
VM_STATE_HISTORYS
-- 中间表
CIM_STAGING_STATE_HISTORYS
-- 目标表
CIM_STATE_HISTORYS

在这里插入图片描述

2.创建Transformation(转换)

这边我是创建了两个Transformation(转换)
在这里插入图片描述
在这里插入图片描述

3.Jobs(作业)

1、创建Job
在这里插入图片描述
2、设置定时执行(双击Start)
在这里插入图片描述

4.设置变量

在这里插入图片描述

5.执行成功

在这里插入图片描述


总结

记录点滴滴,这ETL工具还支持hadoop Hbase,

相关文章:

大数据ETL工具Kettle

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言最近公司在搞大数据数字化,有MES,CIM,WorkFlow等等N多的系统,不同的数据源DB,需要将这些不同的数据源DB里的数据进行整治统一…...

大学物理(上)-期末知识点结合习题复习(4)——质点运动学-动能定理 力做功 保守力与非保守力 势能 机械能守恒定律 完全弹性碰撞

目录 1.力做功 恒力作用下的功 变力的功 2.动能定理 3.保守力与非保守力 4.势能 引力的功与弹力的功 引力势能与弹性势能 5.保守力做功与势能的关系 6.机械能守恒定律 7.完全弹性碰撞 题1 题目描述 题解 题2 题目描述 题解 1.力做功 物体在力作用下移动做功…...

这两个小众的资源搜索工具其实很好用

01 小不点搜索是一个中国网络技术公司开发的网盘搜索引擎,该网站通过与多个主流网盘进行整合,为用户提供一种快速查找和下载文件的方式。小不点搜索因其高效性、便利性和实用性受到了广大用户的喜爱。 在技术实现上,小不点搜索拥有先进的搜…...

Java设计模式(六)— 单例模式1

系列文章目录 单例模式介绍 单例模式之静态常量饿汉式 单例模式之静态代码饿汉式 单例模式之线程不安全懒汉式 文章目录 系列文章目录前言一、单例设计模式介绍二、单例设计模式八种方式三、单例—静态常量饿汉式1.静态常量饿汉式介绍2.静态常量饿汉式案例3.静态常量饿汉式优缺…...

iOS -- isa指针

isa指针:isa指针是一个指向对象所属类或元类的指针。它决定了对象可以调用的方法和属性。isa指针在对象的结构中存在,并且在运行时会被自动设置。isa 指针,表示这个对象是一个什么类。而 Class 类型, 也就是 struct objc_class * …...

【SA8295P 源码分析】14 - Passthrough配置文件 /mnt/vm/images/linux-la.config 内容分析

系列文章汇总见:《【SA8295P 源码分析】00 - 系列文章链接汇总》 本文链接:《【SA8295P 源码分析】14 - Passthrough配置文件 /mnt/vm/images/linux-la.config 内容分析》 透传配置文件位于:qnx.git\apps\qnx_ap\target\hypervisor\gvm\ivi\la\linux-la.config 它是在QNX Ho…...

新型糖基化氨基酸:Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH,化学CAS号174783-92-7

●英文名:Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH ●外观以及性质: Fmoc-Thr((Ac4Galβ1-3)Me,Ac4Neu5Acα2-6AcGalNAcα)-OH中通过对蛋白进行复杂蛋白糖基化修饰,细胞产生了极大丰度的蛋白质类型;通过对各类糖基…...

网络安全(黑客)怎么自学?

最近看到很多问题,都是小白想要转行网络安全行业咨询学习路线和学习资料的,作为一个培训机构,学习路线和免费学习资料肯定是很多的。机构里面的不是顶级的黑阔大佬就是正在学习的同学,也用不上这些内容,每天都在某云盘…...

Vue学习 之 MacOS 安装 webpack

Vue学习 之 MacOS 安装 webpack webpack 简介 Webpack 是一个非常流行的前端构建工具,它可以将多个模块(包括CSS、JavaScript、图片等)打包成一个或多个静态资源文件(bundle),以便用于部署到生产环境。We…...

媒介易教你海外品牌推广:如何选择适合的新闻通稿发布平台?

在进行海外品牌推广时,选择合适的海外新闻通稿发布第三方平台是提高品牌曝光度和影响力的重要一环。这些平台可以帮助企业将新闻内容传播到全球范围内的媒体和受众,为品牌推广提供更广阔的机会。然而,选择合适的发布平台并不容易,…...

网络安全的学习路线是怎么样的?

最近看到网上有很多人在问诸如:“怎样成为网络安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,网络信息安全工程师随之成为炙手可热的职业。关于职业前景的详…...

QT学习07:五种按钮控件

文章首发于我的个人博客:欢迎大佬们来逛逛 文章目录 抽象类:QAbstractButtonQPushButtonQToolButtonQCommandLinkButtonQRadioButtonQCheckBoxQButtonGroup 抽象类:QAbstractButton 是所有按钮类的祖先。 QAbstractButton的信号&#xff1a…...

chatgpt赋能python:Python如何截图运行结果

Python如何截图运行结果 介绍 Python是一种高级编程语言,非常流行。它具有许多有用的功能和库,使其成为许多开发人员的首选编程语言之一。但是,当您运行Python程序并需要与他人共享结果时,您可能需要截图运行结果。在本文中&…...

Baumer工业相机堡盟工业相机如何通过BGAPISDK使用JPEG图像压缩功能(C#)

Baumer工业相机堡盟工业相机如何通过BGAPISDK使用JPEG图像压缩功能(C#) Baumer工业相机Baumer工业相机BGAPISDK和JPEG图像压缩功能的技术背景Baumer工业相机通过BGAPISDK使用JPEG图像压缩功能1.引用合适的类文件2.使用BGAPISDK设置堡盟相机JPEG图像压缩模…...

RT-Thread FAL组件

目录 1、FAL介绍2、使用FAL2.1 下载FAL软件包2.2 FAL移植2.2.1 定义flash设备2.2.2 定义flash设备表&分区表2.2.3 加入到mdk工程3、MSH测试1、FAL介绍 FAL(Flash Abstraction Layer) Flash抽象层,是对Flash及基于Flash的分区进行管理、操作的抽象层,对上层统一了Flash及分…...

【git切换分支/tag】git stash保存暂不提交的更改

目录 问题git stash使用方法git stash pop 还原修改 git stash使用、修改指定tag的代码 其他git指令 问题 情景:分支1上开发新功能,临时切换到其他分支或tag上修改bug。 1、直接切换:如果没有冲突,分支1的修改会带到要切换的分支…...

【爬虫】4.5 实践项目——爬取当当网站图书数据

目录 1. 网站图书数据分析 2. 网站图书数据提取 3. 网站图书数据爬取 (1)创建 MySQL 数据库 (2)创建 scrapy 项目 (3)编写 items.py 中的数据项目类 (4)编写 pipelines_1.py …...

Socket 编程:基础概念辨析

文章目录 参考Socket APIBSD UNIX 操作系统BSD UNIX 与 Socket API Socket套接字套接字地址套接字 VS 套接字地址套接字的表示方法 TCP 套接字与 UDP 套接字TCP 套接字监听套接字连接套接字 UDP套接字 TCP 服务器端与 TCP 客户端通信的基本流程服务器端客户端 参考 项目描述刘…...

git lfs下载指定文件git lfs pull --include=“*.bin“

git lfs pull --include"*.bin"...

JavaScript 数组 函数

目录 1.数组的概念 2.创建数组 2.1 数组创建的方式 2.2利用new 创建数组 2.3 利用数组字面量创建数组 2.4 数据元素的类型 3.获取数组当元素 3.1数组元素的索引 4.遍历数组 4.1数组的长度 5.数组中新增元素 5.1通过修改length 长度新增数组元素 5.2通过修改数组索引…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

python打卡day49

知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

NPOI Excel用OLE对象的形式插入文件附件以及插入图片

static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...