以下操作都在5.0.1版本下进行开发,其余版本可以进行自动比对

本文将对Kettle5中常用步骤字段选择(又名选择/改名值,英文原名:Select Values)进行详细解释。这个步骤的功能非常强大,主要包括:
选择:选择的字段将按照你指定的顺序加入到输出流中,其他字段一概丢弃。除非你选中包含未选择的列(图1中的第2个控件);
删除:需要从输入流中丢弃的字段;
元数据:需要改变的元数据,包括字段的名称、类型、长度、精度、格式等。

步骤初始化时,需要准备元数据,其顺序是选择、删除、元数据,主要处理流程如下:
从输入流中清空元数据集合;
按顺序加入“选择”中设置的字段,包括重命名、修改长度与精度等。如果选中“包含未选择的列”,那么把其他字段按照名字排序,依次加入元数据中;
从已有元数据中删除用户设置的“移除”字段集合;
从已有元数据中按照“元数据”设置进行修改。
了解上述处理顺序,才不会被一些奇怪的现象弄糊涂。

二、说明
1、步骤的属性对话框如下图1-3所示:
图1.

图2.

图3.

2、下面通过一个表格逐项解释每一个对话框中字段的含义。
序号
名称
含义
1
选择和修改
一共包含4个列,本标签实际上决定了输出行集的最大字段集合。也就是说,最终输出的列不会超过这个集合。4个列解释如下:
字段名称:输入行集的字段名称
改名成:新的字段名称
长度:新的字段长度
精度:新的字段精度
2
包含未指定的列,按名称排序
如果选中,那么未在第1步中选择的输入行集其他列将自动加入到本步骤元数据中。否则,只包含第1步中配置的列。
3
移除的字段
在第12步确定的字段集合基础上,删除所有配置的字段。
4
需要改变元数据的字段。
在第123步确定的字段集合基础上,改变字段元数据。一共包含15个列,主要列解释如下:
字段名称:输入行集的字段名称
改名成:新的字段名称
类型:新的字段类型
长度:新的字段长度
精度:新的字段精度
Binary to Normal:采用二进制或者原始类型存储
格式:格式化字符串时需要。例如需要格式化日期,那么可以用yyyy-MM-dd'T'HH:mm:ss.XXX,注意其中单引号限定部分。如果需要在日期格式中使用原始字母,那么必须用单引号限定,否则将当成表达式解析。
Date format Lenient:在解析日期异常数据时是否支持宽容模式。例如碰到15月,如果启用宽容模式,那么15月会当成15-12=3月。

三、附录
主要代码解释如下:
包:org.pentaho.di.trans.steps.selectvalues
元数据类:SelectValuesMeta
运行数据类:SelectValuesData
执行过程类:SelectValues
元数据配置类:SelectMetadataChange

简单的操作步骤已经讲解完毕,接下来给大家带来具体的单表操作。
更多知识资源分享,欢迎关注公众号《大喇叭玩转数据库》

Kettle 执行SQL脚本的更多相关文章

  1. SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)

    需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...

  2. PL/SQL中批量执行SQL脚本(不可把所有的语句都复制到New SQL Windows)

    PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.s ...

  3. Inno Setup执行SQL脚本的方法

    作为和NSIS并立的.两个最流行的免费Windows应用程序安装包制作工具之一,Inno在学习难度上相对要低一些,非常适合对一些简单的桌面程序打包.但对于较复杂的安装过程,或者Web应用程序来说,我个 ...

  4. Java 执行 SQL 脚本文件

    转自:http://blog.csdn.net/hongmin118/article/details/4588941 package com.unmi.db; import java.io.FileI ...

  5. java 执行sql脚本的3种方式 (ant,ibatis,ScriptRunner)

    package com.unmi; import java.io.*; import org.apache.tools.ant.*; import org.apache.tools.ant.taskd ...

  6. mysql执行sql脚本

    最近用mysql执行sql脚本,遇到一些问题,顺便记录一下笔记. 首先,先开启mysql服务,创建一个空数据库(脚本里没有创建数据库) 执行脚本有两个方法 1.未连接数据库:在Windows下使用cm ...

  7. .net(C#)在Access数据库中执行sql脚本

    自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 /// <summary> /// 执行sql语句 /// ...

  8. mysql执行sql脚本文件

    mysql执行sql脚本文件 方法一:使用cmd命令执行(windows下,unix或Linux在的其控制台下) [MySQL的bin目录]\mysql –u用户名 –p密码 –D数据库<[sq ...

  9. 使用命令执行 sql 脚本文件

    使用命令执行 sql 脚本文件 方法: 在 Windows 下使用 cmd 命令执行(或 Unix 或 Linux 控制台下)[Mysql的bin目录]\mysql –u用户名 –p密码 –D数据库名 ...

随机推荐

  1. 记录SqlServer安装后局域网无法连接

    ,如果安装的时候 已经选择 “混合模式(SQL Server 身份验证和Windows 身份验证)(M)”, 并且已经为 SQL Server 系统管理员分配了账户和密码 则不用重新配置. 配置方法如 ...

  2. Thread <number> cannot allocate new log, sequence <number>浅析

    有时候,你会在ORACLE数据库的告警日志中发现"Thread <number> cannot allocate new log, sequence <number> ...

  3. 微信小程序如何做金额输入限制

    引言:金额输入时,需求如下: 1)首位不能出现0或者小数点(.) 2)仅保留两位小数 3)仅保留一个小数点(.),不允许出现多个. 1.wxml核心代码: <!-- 1.adjust-posit ...

  4. [PHP] 循环查看php-fpm的内存占用情况

    在webmail的业务中进行发信,如果携带了附件,会把附件拼接内嵌到邮件正文里,这时会极大的占用内存,可以使用以下命令查看fpm的进程内存占用 ps --no-headers --sort -rss ...

  5. vue 借用element-ui实现头像上传 axios发送请求

    <!-- 上传组件 --> <!-- 总结一下: action 写图片上传请求的路径 去路径哈 show-file-list就是当你上传时,是否会显示出上传的是哪一个图片,一般为fa ...

  6. QT debug执行exe文件 应用程序无法正常启动0xc000007b

    遇到这种错,发现并不是因为缺失dll文件,因为我把需要的DLL都放到Debug文件下了,但还是有这问题: 解决方法: 右键点击-- >我的电脑--属性-->高级系统设置-->环境变量 ...

  7. 解决问题:Red Hat Enterprise Linux 7 64 位 虚拟机安装后无法启动图形化

    原因: 1.系统在创建时,没有安装图形化 2.系统在安装后,有降低内存的操作,内存过低无法启动桌面,以及其他 就原因一进行图形化安装: 1.VMware挂载Red Hat Enterprise Lin ...

  8. php date获取前一天的时间

    结果: 结论: 第二种方式只使用了一个函数,所以更快一些,速度大约是第一种的两倍

  9. 初学者用js做的计算题

    1.苹果3元一个,鸭梨2元一个,桃子1元一个.现在想用200元买100个水果,在控制台中打印出来. var apple = 0; //苹果 var pear = 0; //梨 var peach = ...

  10. 14-认识DjangoRESTframework

    了解DjangoRESTframework 现在流行的前后端分离Web应用模式,然而在开发Web应用中,有两种应用模式:1.前后端不分离 2.前后端分离. 1.前后端不分离 在前后端不分离中,前端看见 ...