首页 > 其他分享 >Kettle字段合并

Kettle字段合并

时间:2022-12-01 19:34:44浏览次数:39  
标签:新建 数据库 Kettle 合并 字段 视图 点击 userA 连接

将数据源A库中的某张表或某几个表中的字段合并后的数据插入到数据库B中。

我们在数据库A和数据库B中分别创建表userA和表userB。最终目标为将数据表userA中的字段“surname”和“name”合并后的数据插入到数据表userB中。

create database testA; use testA; create table `userA`( `id`int(10) primary key, `surname` varchar(10), `name` varchar(50), `age` int(3) )ENGINE=InnoDB DEFAULT CHARSET=utf8; insert into userA values(1,'张','三丰',30); insert into userA values(2,'李','四光',28); insert into userA values(3,'王','小米',22); create database testB; use testB; create table `userB`( `idB`int(10) primary key, `nameB` varchar(50), `ageB` int(3) )ENGINE=InnoDB DEFAULT CHARSET=utf8;

操作步骤

1、运行软件,进入主界面。点击左上角的 文件 → 新建 → 转换新建一个转换,并保存,转换的后缀名为ktr。

Kettle字段合并_数据库连接

2、点击面板左侧的 主对象树 ,选择 DB连接 右键,选择 新建 或 新建数据库连接向导 分别创建对数据库A和数据库B的连接。

Kettle字段合并_数据库连接_02

Kettle字段合并_数据库连接_03

选择“新建”选项的操作视图

Kettle字段合并_数据库连接_04

选择“新建”选项的操作视图

Kettle字段合并_数据库_05

选择“新建数据库连接向导”选项的操作视图 1

Kettle字段合并_数据库_06

选择“新建数据库连接向导”选项的操作视图 2

Kettle字段合并_数据_07

选择“新建数据库连接向导”选项的操作视图 3

注意:如果在点击测试连接时出现下图所示错误,检查我们的安装目录下的lib中是否有对应数据库连接的jar包文件(如mysql的jar文件:mysql-connector-java-5.1.6-bin.jar),下载对应的jar,放到lib文件夹下,重启kettle软件,即可。

Kettle字段合并_数据库连接_08

3、点击面板左侧的 核心对象 ,选择 输入文件夹下的 表输入 并把它拖到右侧的编辑区中。

Kettle字段合并_数据库_09

4、双击编辑区的“表输入”图标,编辑数据输入源。

Kettle字段合并_数据_10

5、点击面板左侧的 核心对象 ,选择 脚本文件夹下的 javaScript脚本 并把它拖到右侧的编辑区中,按住 shift 画线连接 “表输入”。

Kettle字段合并_数据库连接_11

6、双击编辑区的“javascript脚本”,编辑脚本信息。

Kettle字段合并_数据_12

因为我们需要将 “surname ” 和 “name” 合并成一个完整的姓名,所以,我们只需要在 “java script:”下的输入框中录入一下信息。

//声明一个变量,用户输出合并列生成的姓名 var allName = surname + name;

然后点击 获取变量 自动将我们定义的变量输出到字段栏中,我们可以修改字段名称。

7、点击面板左侧的 核心对象 ,选择 输出文件夹下的 插入/更新 并把它拖到右侧的编辑区中,按住 shift 画线连接 “javaScript脚本”。

Kettle字段合并_数据库连接_13

8、双击编辑区的“插入/更新”图标,编辑控件内容。

Kettle字段合并_数据库连接_14

用来查询的关键字,此处只选择主键id,表示这里按照id查询,如果此id存在,则更新数据,若不存在则插入数据。

9、到这里,我们最简单的一个插入/更新数据的转换已经建立完成了,点击“校验这个转换”,Kettle会校验并给出简单的报告。没有任何问题。

Kettle字段合并_数据库_15

10、点击“运行这个转换”,选择“本地执行”,点击“启动”来执行这个转换。

Kettle字段合并_数据库_16

11、转换成功后,我们可以在控制台中看到如下信息。检查本地数据库,数据库A的userA表中的数据已经全部被插入更新到了数据库B的userB表中。

Kettle字段合并_数据_17

Kettle字段合并_数据库_18

标签:新建,数据库,Kettle,合并,字段,视图,点击,userA,连接
From: https://blog.51cto.com/u_15867943/5901119

相关文章

  • gatk 实现对vcf文件的合并
     001、测试数据[root@PC1test]#ls##测试数据seg1_1.vcfseg1_2.vcfseg1_3.vcf[root@PC1test]#ll-htotal1.2G-rw-r--r--.1......
  • 北理工45. 【字符】合并字符串
    45.【字符】合并字符串 输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到大排列。输入:          ......
  • Elasticsearch Mapping字段未支持索引导致搜索失效问题处理
    问题描述:生产上Es根据一个时间字段搜索,却没有返回数据问题分析:根据命令:GETindexName/_mapping查看#GETindexName/_mapping{ "indexName":{ "mappin......
  • 2、通知签名(把两个文件合并成一个文件)
    如果通知有两份文件的话,那么领导若不在办公室,在家办公,那么他签名的时候只会签第二页的文件,他反馈回来的是一张图片,那么如何把一个【pdf文件】和【图片】合并成一张图片用......
  • sql server 多字段查询重复记录并删除
    --查询重复的记录SELECTa.*FROMContacta,(SELECTCust_ID,Contact_NameFROMContactGROUPBYCust_ID,Contact_NameHAVINGCOUNT(1)>1)ASbWHEREa.Cust_ID=b.Cust_I......
  • 区间合并
    给定 nn 个区间 [l,r],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。#include<iostream>#include<algorithm>#includ......
  • vue a-upload组件上传图片,headers和data字段自定义
    <divclass="clearfix"><a-uploadlist-type="picture-card":file-list="fileList"@preview="handlePreview"@change="handleChange":before-upload="......
  • C# List合并相同元素
     C#List合并相同元素,对相同属性的列进行求和原数据合并后     publicclassStudent{publicstring?Name{get;set;}pu......
  • 泛微OA 明细行默认自增长行号字段
    <script>//序号constxh_id=WfForm.convertFieldNameToId('xh',"detail_1");WfForm.registerAction(WfForm.ACTION_ADDROW+"1",function(index){//获取当前行......
  • 合并两个有序链表
    21.合并两个有序链表根据题目要求可以知道这两个链表是升序的,需要将这两个链表合成一个新的升序链表并返回方法一:迭代当list1和list2都不是空链表时,判断list1和l......