以下操作都在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. cgo在mac上编译

    用了cgo mac上编译不过的可以试试下面的方法 ../../pkg/mod/github.com/mattn/go-sqlite3@v1.:: fatal error: 'stdlib.h' fil ...

  2. 通过Shell脚本来创建批量服务器上的MySQL数据库账号

    1.项目背景 因监控需要,我们需要在既有的每个MySQL实例上创建一个账号.公司有数百台 MySQL 实例,如果手动登入来创建账号很麻烦,也不现实.所以,我们写了一个简单的shell脚本,用来创建批量 ...

  3. mysql执行操作时卡死

    有时候使用Navicat对mysql数据库进行添加字段,truncate或其他操作时会一直卡住不动,后来查看进程才发现一直处于等待状态 先执行,列出所有进程 show full processlist ...

  4. 不用输入ssh -i命令行即可携带pem文件快速登录的方法

    如果要登录的服务器只允许pem认证 每次输入ssh -i xxxx.pem 用户@ip 地址  就很烦 这里有个一劳永逸的方法: 进入到自己的用户目录,例如/home/me 把pem文件放在当前目录 ...

  5. Mybatis框架模糊查询+多条件查询

    一.ISmbmsUserDao层 //根据姓名模糊查询 public List<Smbms> getUser(); //多条件查询 public List<Smbms> get ...

  6. 定时锁屏程序,Python祝你原理猝死!

    高以翔事件 11月27日在<追我吧>第九期节目的录制过程中,当期参与嘉宾高以翔奔跑时突然减速倒地,节目现场医护人员第一时间展开救治,并紧急将其送往医院.经过两个多小时的全力抢救,医院最终宣 ...

  7. 【Linux命令】setterm命令修改虚拟机颜色显示(目录及背景颜色)

    VMware设置目录及颜色显示 进入linux界面,默认背景为黑色,字体为白色 一.setterm命令 setterm向终端写一个字符串到标准输出,调用终端的特定功能.在虚拟终端上使用,将会改变虚拟终 ...

  8. ARM64 的 memcpy 优化与实现

    参考:https://www.byteisland.com/arm64-%E7%9A%84-memcpy-%E6%B1%87%E7%BC%96%E5%88%86%E6%9E%90/ libc/stri ...

  9. pandas 学习 第1篇:pandas基础 - 数据结构和数据类型

    pandas是基于NumPy构建的模块,含有使数据分析更快更简单的操作工具和数据结构,是数据分析必不可少的五个包之一.pandas包含序列Series和数据框DataFrame两种最主要数据结构,索引 ...

  10. opencv Mat基础

    Mat Mat由两部分构成 matrix header pointer to the matrix containing the pixel values Mat is basically a cla ...