Kettle-Docker部署+Sqlserver数据同步Mysql+Start定时任务

一. 背景介绍

1. ETL是什么

ETL(Extract-Transform-Load),即数据抽取、转换、装载的过程。它是一种思想,主要是说,从不同的数据源获取数据,并通过对数据进行处理(格式,协议等转换),最后将处理后的数据提供给其他系统使用。当然这个过程,就是软件研发,尤其是后端研发最核心的工作。

2. Kettle概念

kettle,翻译为中文叫做水壶,显而易见,水壶不管壶里面装的是什么液体,最终都会从壶嘴平滑的流出来。就好比,不管水壶装的是什么类型的数据,最后都会通过壶嘴以特定的格式流出来。其实就是对ETL思想的一种实现,它是通过java语言编写,秉承ETL思想的工具。既然是此采用java实现的,那就肯定具有跨平台的特性。

3. kettle组成

kettle既然是一种工具,要处理不同数据源的异构数据,那就要求它能够进行图形化操作,在UI界面上对数据源进行数据治理,最终所有的图形化处理都要能够保存为kettle可识别的文件。

kettle主要生成两种类型的文件,一种转换文件,一种是任务文件,即:transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

这两种文件之间是可以相互调用的,已达到最终的数据清洗目的

二. Kettle  docker界面化部署

github地址:HiromuHota/pentaho-kettle: webSpoon is a web-based graphical designer for Pentaho Data Integration with the same look & feel as Spoon (github.com)

dockerhub地址 :

hiromuhota/webspoon - Docker 镜像 |Docker 中心

1. 安装命令

docker pull hiromuhota/webspoon

2. 启动服务命令

docker run -d -p 8080:8080 hiromuhota/webspoon

3. 界面汉化 

(1)启动之后界面为英文

 (2)进入 kettle容器编辑

docker exec -it -u 0 容器id /bin/bash

  cd  /usr/local/tomcat/bin 

  编辑 setenv.sh

CLASSPATH=/usr/local/tomcat/lib/webspoon-security-9.0.0.0-423-22.jar
# 加入以下两行
CATALINA_OPTS="-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
JAVA_OPTS="-Duser.language=zh -Duser.region=CN -Dfile.encoding=UTF-8"

  (3)容器重启  

docker restart 容器id

  重启成功再次访问地址 汉化成功

 三. SQLserver 与 Mysql 驱动下载与连接

1. 下载

链接: https://pan.baidu.com/s/1Cr9pJmsSJVsq4im9hMeuPg?pwd=ygsj

提取码: ygsj 复制这段内容后打开百度网盘手机App

2. 将驱动放置到下方容器位置,重启容器

/usr/local/tomcat/webapps/spoon/WEB-INF/lib

3. 数据库连接

四. 数据全量同步以及设置定时任务

1. 将Sqlserver数据同步到mysql(两表数据保持完全一致)

2. 拖拽两个表输入,配置如图,因为要合并记录(实际是对两张表数据进行比较),所以获取SQL获取数据/字段等要一致。 

表输入:

 字段选择:(元数据也全选)

合并记录:

数据同步:

标志字段:设置标志字段的名称,标志字段用于保存比较的结果,比较结果有下列几种。
1. “identical” – 旧数据和新数据一样
2. “changed” – 数据发生了变化;
3. “new” – 新数据中有而旧数据中没有的记录
4. “deleted” –旧数据中有而新数据中没有的记录

将数据文件保存到自定义位置

点击作业切换到任务界面

 

 

点击运行 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/656757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-12a.Spring 中通过 TaskDecorator 配置默认异步线程池

Java-12.Spring 中通过 ThreadPoolTaskExecutor 和 AsyncConfigurerSupport 配置默认异步线程池 前言 在Spring框架中,TaskDecorator 是一个接口,它可以用来自定义由 ThreadPoolTaskExecutor 或其他任务执行器管理的任务的装饰行为。这通常用于在执行任…

第32关 k8s集群管理开源神器 - k9s

------> 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 随着我们管理维护的K8S集群上线,怎么管理好集群上面成百上千的服务pod,就是我们该操心的事情了。这里博哥把在生产中一直在用的一个开源管理工具k8s,github…

Jenkins如何从GIT下拉项目并启动Tomcat

一、先添加服务器 二、添加视图 点击控制台输出,滑到最下面,出现这个就说明构建成功了,如果没有出现,说明构建有问题,需要解决好问题才能启动哦~

C++实现通讯录管理系统

目录 1、系统需求 2、创建项目 2.1 创建项目 3、菜单功能 4、退出功能 5、添加联系人 5.1 设计联系人结构体 5.2 设计通讯录结构体 5.3 main函数中创建通讯录 5.4 封装联系人函数 5.5 测试添加联系人功能 6、显示联系人 6.1 封装显示联系人函数 7、删除联系人 7.1…

GPT栏目:yarn 安装

GPT栏目:yarn 安装 一、前言 在跟GPT交互的时候,发现最近gpt4给出的答案率有了比较明显的提高,简单记录一下,我用gpt4拿到的答案吧。 本人已按照这个步骤成功 二、具体步骤 要安装 yarn,你可以按照以下步骤进行操作…

MyBatis常见面试题汇总

说一下MyBatis执行流程? MyBatis是一款优秀的基于Java的持久层框架,它内部封装了JDBC,使开发者只需要关注SQL语句本身,而不需要花费精力去处理加载驱动、创建连接等的过程,MyBatis的执行流程如下: 加载配…

Google Chrome 常用的几个参数

1 右键--Google Chrome--属性--目标 参数作用--disable-infobars此计算机将不会再收到 Google Chrome 更新,因为 Windows XP 和 Windows Vista 不再受支持。适用于 xp、2003 的 49.x.x.x 版本。示例1--ingore-certificate-errors忽略证书错误--disable-background-…

【计算机网络】【练习题及解答】【新加坡南洋理工大学】【Computer Control Network】

说明: 仅供学习使用。 一、题目描述 题目共4问,描述网络通信中的 帧传输时延(Frame Delay)、传播时延(Propagation Delay),以及 链接利用率(Link Utilization) 的相关…

【NodeJS】005- NodeJS的NVM与express框架

1.NVM介绍与使用 1.介绍 nvm 全称 Node Version Manager 顾名思义它是用来管理 node 版本的工具,方便切换不同版本的Node.js 2.使用 nvm 的使用非常的简单,跟 npm 的使用方法类似 3.下载安装 首先先下载 nvm,下载地址 https://github.com/coreybutler/nvm-windows/rel…

Vue2:通过代理服务器解决跨域问题

一、场景描述 现在的项目大多数是前后端分离的。Vue前端项目通过ajax去请求后端接口的时候,会有同源策略的限制。从而产生跨域问题。 二、基本概念 1、什么是同源策略? 就是前端服务和后端服务的协议名,IP或主机名,端口号不完…

0x02递推与递归

0x02递推与递归 递推者,自小而大,循序渐进;递归者,由上而下,分而治之 文章目录 0x02递推与递归例题T1:T2:T3:T4:T5T6 例题 T1: 92. 递归实现指数型枚举 - AcWing题库 …

Mysql 插入数据

1 为表的所有字段插入数据 使用基本的INSERT语句插入数据要求指定表名称和插入到新记录中的值。基本语法格式为: INSERT INTO table_name (column_list) VALUES (value_list); 使用INSERT插入数据时,允许列名称列表column_list为空,此时&…

网络安全战略中的法律问题

文章目录 前言一、各国网络安全的法律需求陡增二、战争的多维化使对法律的需求也越加多样(一)从平时到战时,网络斗争的平战模糊性增加法律适用难度(二)从高维到低维,博弈的多维性使法律需求层次更加丰富(三)从防御到进攻,网络空间的攻防不均衡改变法律斗争重点三、各国…

flink分别使用FilterMap和ProcessFunction实现去重逻辑

背景 在日常的工作中,对数据去重是一件很常见的操作,比如我们只需要保留重复记录的第一条,而忽略掉后续重复的记录,达到去重的效果,本文就使用flink的FilterMap和ProcessFunction来实现去重逻辑 FilterMap和ProcessF…

Compose | UI组件(十) | Box,Surface - 帧布局

文章目录 前言Box 组件的参数说明Box 组件的使用Surface 的参数说明Surface 的使用 总结 前言 Box组件是 按子组件依次叠加 的布局组件,相当传统View中的 FrameLayout Box 组件的参数说明 Composable inline fun Box(modifier: Modifier Modifier, …

Web服务器之Tomcat

文章目录 Web 服务器软件简介资源分类访问流程常见的Web服务器软件 Tomcat简介使用步骤使用Tomcat注意事项部署项目的方式方式一方式二方式三 问题中文乱码黑窗口一闪而过启动报错 Web 服务器软件 简介 服务器:安装了服务器软件的计算机服务器软件:接收…

漏洞原理远程命令执行

漏洞原理远程命令/代码执行 远程命令执行函数(Remote Command Execution Function)是指在一个网络环境中,通过远程执行命令来控制另一个计算机系统或设备的功能。 远程命令执行函数可以通过网络协议(如SSH、Telnet、RPC等&#x…

伊恩·斯图尔特《改变世界的17个方程》毕达哥拉斯定理笔记

它告诉我们什么? 直角三角形的三个边之间有什么关系。 为什么重要? 它提供了几何和代数之间的重要联系,使我们能够根据坐标计算距离。它也催生出了三角学。 它带来了什么? 测绘、导航,以及较近代出现的狭义和广义相对论…

第一节课,用户管理--后端初始化,项目调通。二次翻工2

一、网址来源: 快速开始 | MyBatis-Plus (baomidou.com) 进程: ​ 二、[此处不看]添加测试类,看下效果 2.1 参考 一、第一节课,用户管理--后端初始化,项目调通-CSDN博客 ​ 2.2 新建 SampleTest ​ 2.3 复…

SouthLeetCode-打卡24年01月第3周

SouthLeetCode-打卡24年01月第3周 // Date : 2024/01/15 ~ 2024/01/21 013.二分查找 (1) 题目描述 013#LeetCode.27.#北岸计划2024/01/15 // 略 (2) 题解代码 // 重做 014.移除元素 (1) 题目描述 014#LeetCode.160.#北岸计划2024/01/16 (2) 题解代码 Version1.0 c…