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数据库名 ...
随机推荐
- Rewrite基本概述
Rewrite基本概述 什么是rewrite Rewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程. rewrite使用场景 1.地址跳转,用户访问www. ...
- Scrapy_redis主机连接虚拟机的数据库时显示积极拒绝,无法连接
1.端口转发 在虚拟机设置各个数据库对应的端口转发 2.修改数据库配置文件 默认只有本机的IP才可以访问,其它IP就连不上了,修改bind ip 为0.0.0.0 3.重启服务(或者直接重启虚拟机) ...
- 游戏AI之A*寻路算法(3)
前言:寻路是游戏比较重要的一个组成部分.因为不仅AI还有很多地方(例如RTS游戏里操控人物点到地图某个点,然后人物自动寻路走过去)都需要用到自动寻路的功能. 本文将介绍一个经常被使用且效率理想的寻路方 ...
- 201871010116-祁英红《面向对象程序设计(java)》第十二周学习总结
博文正文开头格式:(2分) 项目 内容 <面向对象程序设计(java)> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://ww ...
- 冒泡排序和sort,sorted排序函数
冒泡: # 轮数 元素个数 比较次数# 1 6 5# 2 5 4# 3 4 3# 4 3 2# 5 2 1 # 列表有n个元素,则应比较n-1轮,即循环次数n-1 a=[85,7,4,89,34,2] ...
- (day65)作业
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 设计模式-Bridge(结构型模式)-用于客户需求较多,频繁对类进行添加修改的情形,将抽象类与具体实现类分开
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //AbstractionImp.h #pragma once class AbstractionImp { public: ...
- 一文学会 TypeScript 的 82% 常用知识点(下)
一文学会 TypeScript 的 82% 常用知识点(下) 前端专栏 2019-11-23 18:39:08 都已经 9021 年了,TypeScript(以下简称 TS)作为前端工程师不得 ...
- window.onload在文档加载完成后执行
验证a .b两点疑惑: a.<script src="./main.js"></script>中的window.onload是在html全部加载完了才执行, ...
- LeetCode 202: 快乐数 Happy Number
题目: 编写一个算法来判断一个数是不是 "快乐数". 一个 "快乐数" 定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直 ...