实验4.数据全量、增量、比较更新

【实验目的】

1.利用Kettle的“表输入”,“表输入出”,”JavaScript代码”组件,实现数据全量更新。
2.熟练掌握“JavaScript代码”,“表输入”,“表输入出”组件的使用,实现数据全量更新。

【实验原理】

通过“表输入”对MySQL表格的数据读入,然后通过“JavaScript代码”更新抽取数据的时间,再通过“表输入出”保存表格到MySQL数据库。

【实验环境】

操作系统:Windows10 
Kettle版本:7.1.0.0
jdk版本:1.8.0及以上版本

【实验步骤】

一、建立转换

双击spoon.bat打开kettle。(1)点击新建按钮,在下拉菜单中点击选择"转换"即可创建;(2)然后点击"保存"重命名该转换文件,保存在某个指定的路径;(3)选择输入步骤、输出步骤和跳。

二、数据导入数据库的准备工作

1.数据库mysql

导入数据表:‘课程信息表’,

建立转换,需要组件如图所示:

2.“Excel的输入”的配置

Step1:双击‘Excel输入’组件,配置‘文件’选项卡,设置输入数据的输入流和路径


Step2:配置‘工作表’选项卡,设置输入数据的起始行和起始列


Step3:配置‘字段’选项卡,获取字段名称,并设置字段的数据类型(重点,以防报错)

3.“表输出”的配置

Step1:连接数据库

创建数据库代码

create database testbase;
use testbase;
CREATE TABLE courses1 (编号 DOUBLE,课程名称 VARCHAR(255), 课程大类 VARCHAR(255), 学分 DOUBLE,讲师 VARCHAR(255), 开课时间 DATETIME,课时数 INT,  ETL_TIMESTAMP DATETIME
);

Step2:选择数据库和表名

 Step3:确定

 

Step4:获取字段

4.运行结果

三、各组件的配置

1.“表输入”的配置:

Step1:双击‘表输入’组件,新建数据库的连接并进行测试,


Step2:连接成功后,获取表的字段名称


2.“JavaScript代码”的配置:

双击“HTTP client”组件,编写Script1的代码,并获取其相应字段名称和类型。


3.“表输出”的配置:

双击‘表输出’组件,选择目标表的名称,并使用SQL语句进行创建:

还要进行目标表courses2的创建

create database testbase;
use testbase;
CREATE TABLE courses2 (编号 DOUBLE,课程名称 VARCHAR(255), 课程大类 VARCHAR(255), 学分 DOUBLE,讲师 VARCHAR(255), 开课时间 DATETIME,课时数 INT,  ETL_TIMESTAMP DATETIME
);


4.“表输出2”的配置:

双击‘表输出2’组件,选择目标表的名称,并使用SQL语句进行创建:

进行目标表courses3的创建

create database testbase;
use testbase;
CREATE TABLE courses3 (编号 DOUBLE,课程名称 VARCHAR(255), 课程大类 VARCHAR(255), 学分 DOUBLE,讲师 VARCHAR(255), 开课时间 DATETIME,课时数 INT,  ETL_TIMESTAMP DATETIME
);

四、执行转换

点击按钮,执行转换,结果如下:

五、实验结果:

输入文件‘课程信息表.xlsx’:

table output

table output2 

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

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

相关文章

MATLAB算法实战应用案例精讲-【图像处理】图像缩放

目录 前言 知识储备 MATLAB图像处理函数 数字数字图像增强 数字数字图像的变换

二级指针

*代表指针变量。int*为p的类型。故pp第一个*表示pp为指针int** pp,指向p的二级指针。 p中储存a的地址,pp中储存p的地址。 打印,printf中**pp的表示:pp中储存的是p的地址,第一个*解引用地址p表示p的内容,p的…

Pickcode:教孩子们编码的新视觉语言

Pickcode 通过视觉课程、聊天机器人、游戏和绘图来教授编程。 Pickcode 是一种新的语言和编辑器,可以直观地指导用户编写代码来制作聊天机器人、动画图画和游戏。Pickcode 旨在让用户在学习更高级的语言之前能够充满信心地开始学习编码。 Pickcode 可视化编程语言…

回归算法优化过程推导

假设存在一个数据集,包含工资、年龄及贷款额度三个维度的数据。我们需要根据这个数据集进行建模,从而在给定工资和年龄的情况下,实现对贷款额度的预测。其中,工资和年龄是模型构建时的两个特征,额度是模型输出的目标值…

被DDOS了怎么办 要如何应对

DDoS攻击的特点和类型 1. 特点 DDoS攻击的特点是通过大量合法的请求或者无效的请求,消耗目标服务器的网络带宽和系统资源,使其无法正常运行。攻击者通常使用多个主机发起攻击,以达到更高的攻击效果。 2. 常见类型 (1)S…

SPASS-ARIMA模型

基本概念 在预测中,对于平稳的时间序列,可用自回归移动平均(AutoRegres- sive Moving Average, ARMA)模型及特殊情况的自回归(AutoRegressive, AR)模型、移动平均(Moving Average, MA)模型等来拟合,预测该时间序列的未来值,但在实际的经济预测中,随机数据序列往往…

macos端文件夹快速访问工具 Default Folder X 最新for mac

Default Folder X 是一款实用的工具,提供了许多增强功能和快捷方式,使用户能够更高效地浏览和管理文件。它的快速导航、增强的文件对话框、自定义设置和快捷键等功能,可以大大提升用户的工作效率和文件管理体验。 快速导航和访问:…

Java开发中常用的工具类方法

一、JDK自带工具包 (java.lang*.java.util.*等) 面是Java中jdk中附带的一些常见工具类及其方法和示例的简介 工具类 / 类所在包 常用方法 描述 示例 Arrays (java.util) sort() 对数组进行排序 Arrays.sort(arr); binarySearch() 在数组中执行…

S3的概念和使用

工作需要测试数据库从 S3(Simple Storage Service)导入数据文件,公司有私有S3环境。 S3是一种对象存储,数据模型很简单,就是key-value,key就是一个任意字符串,value是一个文件。 S3的功能就是…

chromium证书校验流程SM2WithSM3(C++源码说明)

文章目录 一、证书链二、证书链校验过程三、证书链签名校验图解四、C++源码4.1 编译TASSL4.2 代码一,直接读取签名值方法4.3 代码二(推荐)4.3.1 获取证书的签名数据4.3.2 获取证书的签名值4.3.3 从证书中获取公钥4.3.4 完整代码4.3.5 代码地址五、补充说明5.1 SM2的Z值算法以…

2023亚太杯数学建模B题思路分析 - 玻璃温室中的微气候法规

1 赛题 问题B 玻璃温室中的微气候法规 温室作物的产量受到各种气候因素的影响,包括温度、湿度和风速[1]。其中,适 宜的温度和风速是植物生长[2]的关键。为了调节玻璃温室内的温度、风速等气候因素 , 温室的设计通常采用带有温室风扇的通风系统&#xf…

《数学之美》第三版的读书笔记一、主要是马尔可夫假设、隐马尔可夫模型、图论深度/广度、PageRank相关算法、TF-IDF词频算法

1、马尔可夫假设 从19世纪到20世纪初,俄国有个数学家叫马尔可夫他提出了一种方法,假设任意一个词出现的概率只同它前面的词有关。这种假设在数学上称为马尔可夫假设。 2、二元组的相对频度 利用条件概率的公式,某个句子出现的概率等于每一个词出现的条件概率相乘,于是可展…

【计算机网络笔记】路由算法之层次路由

系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…

STM32_5(中断)

中断系统 中断:在主程序运行过程中,出现了特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而去处理中断程序,处理完成后又返回原来被暂停的位置继续运行中断优先级:当…

如何用java的虚拟线程连接数据库

我觉得这个很简单 首先确保你idea支持jdk21. 然后把idea编译成的目标字节码设置为21版本的 然后编写代码。 创建虚拟线程的方式有: Runnable runnable () -> {System.out.println("Hello, world!"); };// 创建虚拟线程 Thread virtualThread Thre…

从0开始学习JavaScript--JavaScript迭代器

JavaScript迭代器(Iterator)是一种强大的编程工具,它提供了一种统一的方式来遍历不同数据结构中的元素。本文将深入探讨JavaScript迭代器的基本概念、用法,并通过丰富的示例代码展示其在实际应用中的灵活性和强大功能。 迭代器的…

【计算思维】蓝桥杯STEMA 科技素养考试真题及解析 2

1、兰兰有一些数字卡片,从 1 到 100 的数字都有,她拿出几张数字卡片按照一定顺序摆放。想一想,第 5 张卡片应该是 A、11 B、12 C、13 D、14 答案:C 2、按照下图的规律,阴影部分应该填 A、 B、 C、 D、 答案&am…

spark如何配置checkpoint

1、sparkSession配置checkpoint的方法 # step1: 在conf中添加checkpoint的保存地址 val spark SparkSession.builder.appName(JobRegister.getJobName("xxx", s"xxxx")).config("hive.exec.dynamic.partition", "true").config(&quo…

2023亚太杯数学建模竞赛(亚太赛)选题建议+初步分析

如下为C君的2023亚太杯数学建模竞赛&#xff08;亚太赛&#xff09;选题建议初步分析&#xff1a; 提示&#xff1a;DS C君认为的难度&#xff1a;C<A<B&#xff0c;开放度&#xff1a;A<B<C。 以下为ABC题选题建议及初步分析&#xff1a; A题&#xff1a;Image…

openssl+ SM2 + linux 签名校验开发实例(C++)

文章目录 一、SM2校验理论基础二、SM2签名校验开发实例&#xff08;C&#xff09; 一、SM2校验理论基础 SM2的校验过程是使用椭圆曲线上的公钥验证签名的有效性。以下是SM2校验的理论基础相关知识点&#xff1a; SM2签名算法&#xff1a; SM2的校验基于椭圆曲线数字签名算法&a…