Kettle 执行SQL脚本
以下操作都在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脚本的更多相关文章
- SQL Server自动化运维系列——批量执行SQL脚本(Power Shell)
需求描述 一般在生产环境中,在投产的情况下,需要批量的来执行SQL脚本文件,来完成整个投产,如果投产文件比较多的情况下,无疑这是一个比较痛苦的过程,所以本篇通过PowerShell脚本来批量完成. 监 ...
- PL/SQL中批量执行SQL脚本(不可把所有的语句都复制到New SQL Windows)
PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.s ...
- Inno Setup执行SQL脚本的方法
作为和NSIS并立的.两个最流行的免费Windows应用程序安装包制作工具之一,Inno在学习难度上相对要低一些,非常适合对一些简单的桌面程序打包.但对于较复杂的安装过程,或者Web应用程序来说,我个 ...
- Java 执行 SQL 脚本文件
转自:http://blog.csdn.net/hongmin118/article/details/4588941 package com.unmi.db; import java.io.FileI ...
- java 执行sql脚本的3种方式 (ant,ibatis,ScriptRunner)
package com.unmi; import java.io.*; import org.apache.tools.ant.*; import org.apache.tools.ant.taskd ...
- mysql执行sql脚本
最近用mysql执行sql脚本,遇到一些问题,顺便记录一下笔记. 首先,先开启mysql服务,创建一个空数据库(脚本里没有创建数据库) 执行脚本有两个方法 1.未连接数据库:在Windows下使用cm ...
- .net(C#)在Access数据库中执行sql脚本
自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 /// <summary> /// 执行sql语句 /// ...
- mysql执行sql脚本文件
mysql执行sql脚本文件 方法一:使用cmd命令执行(windows下,unix或Linux在的其控制台下) [MySQL的bin目录]\mysql –u用户名 –p密码 –D数据库<[sq ...
- 使用命令执行 sql 脚本文件
使用命令执行 sql 脚本文件 方法: 在 Windows 下使用 cmd 命令执行(或 Unix 或 Linux 控制台下)[Mysql的bin目录]\mysql –u用户名 –p密码 –D数据库名 ...
随机推荐
- mysql5.7 Multiple-Column Indexes 多列索引(二)
场景一: 复合索引的替代方法,对多列字段拼接做hash,引入一个hashed 字段,对此字段添加索引,可以做到复合索引查询速度快,例: SELECT * FROM tbl_name WHERE has ...
- Checklist for an RMAN Restore (Doc ID 1554636.1)
Checklist for an RMAN Restore (Doc ID 1554636.1) APPLIES TO: Oracle Database - Enterprise Edition - ...
- android binder 进程间通信机制1-binder 驱动程序
以下内容只大概列个提纲,若要明白其中细节,还请看源码: 申明:本人菜鸟,希望得到大神指点一二,余心足已 binder 设备:/dev/binder binder 进程间通信涉及的四个角色: Clien ...
- 2.jenkins 插件
默认插件 常用插件,视屏推荐(仅供参考 ) 以下是实际 安装的 插件. SSH SCP publisherGit # 新版jenkins默认就安装了.GitLab Git Parameter Pipe ...
- requests乱码问题
有三种方法解决请求后乱码问题. 一:获取二进制数据,再利用str进行编码转换 url='http://music.baidu.com' r = requests.get(url) html=r.con ...
- HTML网页自动跳转(重定向)
HTML网页自动跳转(重定向) meta <head> <meta http-equiv="refresh" content="5;url=https: ...
- LG2602/BZOJ1833 「ZJOI2010」数字计数 数位DP
问题描述 LG2602 BZOJ1833 题解 数位\(\mathrm{DP}\)板子题. 注意限制位数.前导零. \([a,b]=[1,b]-[1,a-1]\) \(\mathrm{Code}\) ...
- Yet Another Broken Keyboard
time limit per test2 secondsmemory limit per test256 megabytesinput: standard inputoutput: standard ...
- 【转】关于web项目中的图片上传、并在前端显示问题(tomcat中配置文件上传虚拟路径)
一.数据库存储 直接把图片的二进制码存到数据库,可参考blog:http://blog.csdn.net/hope2jiang/article/details/590733 直接存图片在mysql上面 ...
- go get 获取被墙依赖包解决方法
前言: 随着 go1.11 的发布,go 官方引入了 go module 来解决依赖管理问题,go module 被集成到原生的 go cmd 中,但是如果你的代码库在$GOPATH中,go1.11 ...