一、 输入组件

1.1表输入

从指定的数据库中,通过sql语句来查询数据加载到内存。

允许简易转换:勾选后可以避免不必要的字段的数据类型转换,从而提高性能。

替换sql语句里的变量:勾选后可以通过${queryDate}来使用queryDate变量。

从步骤中插入数据:以上次的步骤中的数据作为数据的参数,使用?来获取上步骤的数据,查询多个列就多个?接受。

从步骤中插入数据的例子:

csv文件里面有一些id,我们需要读取这个id的值,然后去数据库里面找对应id的数据

我们从csv中读取数据,所以需要csv文件输入组件,并且需要从数据库中回去数据,所以需要表输入组件,最终会形成下面的转换图:

其中csv读取到的id内容是:

表输入的配置是:

最终表输入的输出是:

1.2一个组件有多个数据通道

一个组件往多个通道发送时:可以选择分发或者是复制。

分发的意思是分流,就是把输出分为多分发送到不同的目的地

复制的意思是每个目的地接收到的数据是一样的

这里举一个复制的例子,读取数据库中的数据复制多分到excel输出、json输出、表输出

表输出需要注意字段的映射关系:

这是转换图:

 二、执行sql的组件

执行脚本是很常用的一个组件,主要用于将上一步骤的结果作为参数来执行sql语句。

执行每一行:是否要对偶上个步骤的N行的结果一行一行的执行此脚本。

execute as a statment:当做一条完整的语句执行

变量替换:选中后,就可以${date}方式使用变量

quote string:选中后会识别?来表示上步骤传来的数据。

测试程序:

我们读取csv文件,并把csv文件中的数据插入到mysql的表中

其中执行sql脚本的配置是:

三、公式

在原来字段的基础上,使用新的自定义公式产生新的字段。变量用{}括起来。

例子:

我们读取csv文件,将name字段变为大写

最终的公式的输出是:

四、记录集连接

根据两个输入的连接字段选择连接方式,注意一个问题:关联的数据源要事先排好序。

五、字段选择工具

在关联之后去掉一些不需要的字段,或者修改字段的控制

字段选择的转换图:

csv文件里面包括两列的数据,id和name,现在我们把id字段名改为了new_id,并且将name字段删除

字段选择后的结果:

六、合并记录

将跨数据源的数据合并在一起的操作,相当于在同一数据库中的union操作。

union有数据的相对比较的功能

匹配关键字:是两个数据源数据对比的依据

标志字段是要显示的两个数据源的对比结果:

new:原来数据源没有关键字匹配的值,新数据源有关键字匹配的值。

delete:原来数据源有关键字匹配的值,新数据源没有关键字匹配的值。

changed:原来数据源和新数据源有关键字匹配的值,但是其他项修改了。

identical:两条数据是一致的。

kettle的输入输出组件和脚本组件的更多相关文章

  1. SSIS 通过添加脚本组件 自定义转换数据

    问题:从mysql导入到sql的汉字都是乱码或者干脆导入不成功,报”截断字符串“错误,错在mysql当时建立的都是使用的默认编码latin1;搞不明白,又不是瑞典人,你用这个干毛.导致现在遇到n多问题 ...

  2. 【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了GameObject,C ...

  3. 如何在SSIS的脚本组件中访问变量

    原文:如何在SSIS的脚本组件中访问变量 这是一个小问题,我们在SSIS的设计中很多地方都会用到变量,我习惯性地将"变量"和"表达式"称为SSIS的灵魂,虽然不 ...

  4. 王者荣耀是怎样炼成的(三)unity组件与脚本

    转载请注明出处:http://www.cnblogs.com/yuxiuyan/p/7565345.html 上回书说到了unity的基本操作.这回我们来侃侃unity中的组件与脚本. 目录结构 一. ...

  5. VueJs(8)---组件(注册组件)

    组件(注册组件) 一.介绍 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树 那么什么是组件呢? 组 ...

  6. Sprite组件和Button组件的使用

    一.Sprint组件的使用 1.游戏中显示一张图片,通常我们称之为"精灵" sprite 2.cocos creator如果需要显示一个图片,那么需要在节点上挂一个精灵组件,为这个 ...

  7. 关于Unity中UI中的Mask组件、Text组件和布局

    一.Mask组件 遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片) Rect Ma ...

  8. GUI的最终选择 Tkinter(三):Checkbutton组件和Radiobutton组件、LabelFrame组件

    Checkbutton组件 Checkbutton组件就是常见的多选按钮,而Radiobutton则是单选按钮 from tkinter import * root = Tk() v = IntVar ...

  9. vue组件化初体验 全局组件和局部组件

    vue组件化初体验 全局组件和局部组件 vue组件化 全局组件 局部组件  关于vue入门案例请参阅 https://www.cnblogs.com/singledogpro/p/11938222.h ...

随机推荐

  1. 2-24-源码编译搭建LAMP环境-作业 ( By 小甘丶 )

    安装上课的内容要求: 实验环境: VMware Virtual Machine : System Version: CentOS6.8 ( Gan35 ) IP Address : 192.168.3 ...

  2. 亿图图示与visio结合使用

    亿图图示与visio结合使用 Model 图例   思维导图 Camp Awards 思维导图 思维导图 Englilsh camp activity plan 项目管理 Auto WBS 商务 错误 ...

  3. linux make virtual memory more efficient three components

    Page Cache This is used to speed up access to images and data on disk. As pages are read into memory ...

  4. svn: E200009: 'lib/systemd/system/dropbear@.service': a peg revision is not allowed here problem

    case: svn add lib/systemd/system/dropbear@.service svn: E200009: 'lib/systemd/system/dropbear@.servi ...

  5. mongodb的capped Collection集合

    db.createCollection(name, {capped: true, autoIndexId: true, size: 1000, max :100} ) name:集合的名字 cappe ...

  6. 用正则表达式匹配用rdf3x处理过后的TTL格式文档

    1.比如下面这个用rdf3x处理过后的TTL文档片段: 注意缩进的是两个空格 <http://rdf.ebi.ac.uk/resource/chembl/target/CHEMBL2363853 ...

  7. rdf-3x简要使用

    github下载地址:https://github.com/gh-rdf3x/gh-rdf3x rdf3x是用C++编写的,linux系统中,需要对其编译进行编译 1.安装g++编译器sudo apt ...

  8. maven 构建war包时排除web.xml

    在使用maven构建项目的war包时,有时并不需要src/webapp/WEB-INF/下的一些文件. 这时可以通过maven-war-plugin创建配置来排除这些文件.下面贴出我平时使用的pom. ...

  9. javascript的replace之正则表达式的浅析

    在javascript中,字符串的replace方法可以指定替换某些字符串. 1.直接替换字符串 "yy/MM/dd".replace("yy","2 ...

  10. (C/C++学习笔记) 十一. 数组

    十一. 数组 ● 基本概念 数组:数组是一组在内存中依次连续存放的(数组所有元素在内存中的地址是连续的).具有同一类型的数据变量所组成的集合体.其中的每个变量称为数组元素,它们属于同一种数据类型,数组 ...