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数据库名 ...
随机推荐
- fastadmin安装定时插件报错 ZipArchive::extractTo(): Permission denied
环境linux上直接安装 如果你是在win开发号直接部署的应该是没问题 我是直接在linux安装的 这几天研了下fastadmin 想用他的定时可是在使用的时候报错 ZipArchive::e ...
- [Go] Golang中的面向对象
struct interface 就可以实现面向对象中的继承,封装,多态 继承的演示:Tsh类型继承People类型,并且使用People类型的方法 多态的演示Tsh类型实现了接口Student,实现 ...
- JS---DOM---为元素解除绑定事件
解除绑定事件: 1.解绑事件 对象 .on 事件名字=事件处理函数--->绑定事件. 对象 .on 事件名字 = null . 注意:用什么方式绑定事件,就应该用对应的方式解除绑定事件. //1 ...
- 算法问题实战策略 PICNIC
下面是另一道搜索题目的解答过程题目是<算法问题实战策略>中的一题oj地址是韩国网站 连接比较慢 https://algospot.com/judge/problem/read/PICNIC ...
- 构建LVS负载均衡集群——NAT模式(最简单方式)
一.装备一台lvs调度器主机要求两个网卡一个为内部局域网ip,一个为公网ip #IP地址设置过程不再重复 [root@localhost ~]# ip a | grep eth0 #内网ip : et ...
- 打包一个python解释器
利用python的exec语句,可以很方便地动态执行python语句.如果一个python代码打包为了exe,其原先的代码就很难更改了.一个好的解决方法就是import相应的库,然后把主程序段放到一个 ...
- 新安装ubuntu系统的简单优化
新安装的ubuntu系统,需要做下简单的优化,使其符合常用习惯,优化过程的命令与centos大都不一致,撰文备份,以备所需: 1.获取ubuntu系统root权限 在终端输入sudo passwd r ...
- tomcat程序生成的日志文件不可读问题 - 运维总结
现象描述:线上机器的程序文件(包括TOMCAT自身)使用APP账号作为属主运行,同时禁止了APP账号的BASH.登录系统使用了统一认证,这样每个人都有自己的账号登录系统.为了方便开发人员登录查看日志, ...
- SpringBoot系列之配置文件加载位置
SpringBoot系列之配置文件加载位置 SpringBoot启动会自动扫描如下位置的application.properties或者application.yml文件作为Springboot的默认 ...
- pytest框架与unittest框架的对比
一.pytest的优势 pytest是基于unittest之上的单元测试框架,它的优势如下: 自动发现测试模块和测试方法 断言使用 assert + 表达式 可以设置测试会话级(session).模块 ...