kettle组件-转换

1:列转行
2:列转行
3:去除重复记录
      步骤名称:保持唯一性
      增加计数器到输出?:当勾选了此项,并在计数器字段后给予了名称,则将会在该字段下显示去掉的重复行数。
      字段名称:用来去重的字段,可选多个字段,表示多个字段都相同时表示重复。
      该功能类似与sql中的distinct关键字。

4:增加序列
      一个序列是在某个起始值和增量的基础之上,经常改变的整数值。可以使用数据库定义好的序列,也可以使用kettle决定的序列。
      kettle序列在同一个转换中是唯一使用的,每一次转换运行的时候,序列的值又会重新循环一次,从开始值开始。
      使用数据库序列:
   连接名称:选择数据库存在的连接名称。
      序列名称:数据库序列的名称。
      使用计数器来计算序列:如果想用kettle生成的序列,使用此项。
      计数器名称(可选):如果一个转换中多个步骤生成同样的值名称,这个选项允许你指定计数器名称,避免按照先后顺序通过多个步骤。
      起始值:序列的起始值。
      增量:序列的步长。
      最大值:序列的最大值。

5:字段选择
      字段选择中包含有三个页签:选择和修改,移除,元数据
      选择和修改:用于获取字段名称,并可以对名称进行修改,还可以修改其长度和精度。
      移除:移除字段后该字段将不会被预览查看到。
      元数据:可以修改字段名称,以及数据类型,长度,精度,格式等信息。但是,当在选择和修改中将某一字段的名称修改,要想
                     在元数据中继续修改则选择修改前的原字段名称,会提示找不到该字段,需要选择在选择修改页签中已经修改成的名称。

6:字符串替换
      将某个字段的某些字符替换成我们给定的字符。
      首先选择输入流字段,
      “输出流字段”自己命名(就是用来保存处理后的结果的字段,可以和输入流字段保持一致),可以选择正则表达式,
      “搜索”就是你希望被替换的字符,字符串,可以是一个正则表达式,
      “使用…替换”就是你期望用什么值替换被替换的部分,
      “设置为空串”就是将你被选择的部分用空替换
      “使用字段值替换”你可以使用现有的某个字段的值替换你期望被替换的部分,后面两个根据自己的需要进行选择。
 案例:
     1:转换/输入/生成记录-------自定义字段,类型,对应的值,生成记录可以按照指定的生成记录数生成值。
     2:转换/转换/字符串转换-----各种定义
 总:a:输入流字段----要被替换的字段的名称
        b: 输出流字段----替换后的新字段的名称
        c:  搜索-----------表示要被替换的字符或字符串
        d: 使用…替换----被替换的字符或字符串要被替换为
        e: 输出流字段为空-----此时替换将在原字段做改变
        f: 搜索为空------------每个字符前后都会视为空,为空的位置都会插入被替换字符或字符串
        g: 使用…替换为空-----搜索字符将会置空
        h: 熟悉kettle中的正则表达式
A:kettle中的正则表达式
     1:正则表达式仅用字符或者字符串表示-----包含该字符或者字符串的字符串都会被查询出来
     2:正则表达式中含有句点符号--------------句点符号可以匹配所有字符,包括空格和非字符符号
例如:t.n----匹配tan,ton,tmojn,tn
     3:正则表达式中包含方括号----------------只有包含中括号中的字符才能被匹配,方括号只允许匹配单个字符
例如t[asdf]n----匹配tan,tsn,tdn
     4: 使用圆括号加/的方式匹配单个或多个字符-----例如:t(a/s/d/f/oo)n----此时toon就会被匹配上
     5:表示匹配次数的符号,这些符号用于确定仅靠该符号左边的符号出现的次数
     *表示0次或多次
     +表示1次或多次
     ?表示0次或1次
     {n}表示恰好n次
     {n,m}表示n次到m次
     6:正则表达式中的连字符“-”表示一个范围
     7:”^“表示否的意思,表示不匹配该字符

7:将字段值设置为常量
      字段:获取字段名称
      值替换:用常量值代替原值,此时无论原值有多少行,该行的所有值都会被一个值所替换。
      转换掩码:用于设置日期类型的格式。
      设为空串:若设为空串则该列值全显示为空。

8:拆分字段
      需要拆分的字段:选择需要拆分的字段
      分隔符:拆分字段间的结束符号
      新的字段:看看能拆分的最大数,依据最大数量来定需要设置的新字段的数量,也可往大的设置,截取不到将输出NULL,也可以往
      小的设置,这样的话值部分截取不到。

原文地址:https://www.cnblogs.com/zja001/p/10084417.html

时间: 2024-08-10 00:37:14

kettle组件-转换的相关文章

kettle组件-流程

1:空操作  该操作什么都不做,主要作用是,想测试的时候充当一个占位符.  例如:两个文本文件输入,同时连接到流查询步骤中,但是流查询仅仅能从一个流中查询信息,所以可以在同时连接流查询之前,           将两个文本文件输入连接到空操作,然后再让空操作去连接流查询.         空操作组件具有合并记录的作用. 2:过滤记录  该步骤通过条件和比较符来过滤记录.  发送ture数据给步骤:指定条件返回true的数据将发送到此步骤  发送false数据给步骤:指定条件返回false的数据将

利用kettle组件导入excel文件到数据库

1.     实现目标 把excel文件内容导入到目标表中:然后用java调用kettle的转换.excel文件的内容仅仅有两列,示比例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbmV3ZWFzdHN1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 数据库表的结构例如以下: watermark/2/text/aHR0

使用WIC组件转换图片格式

#include <windows.h>#include <Wincodec.h>#pragma comment(lib, "Windowscodecs.lib" )HRESULT PNG2WDP(WCHAR* szPngFileName, WCHAR* szWdpFileName){    IWICImagingFactory *piFactory = NULL;    IWICBitmapEncoder *piEncoder = NULL;    IWICB

kettle子转换即映射

kettle子转换即映射 子转换是非常好的特性,可以实现整个转换重用:所以如果你需要拷贝.粘贴一些相同的步骤到多个其他转换中,就可以考虑使用子转换(即映射),可以使你的ETL程序更简洁. 子转换通常从父转换中接收行输入数据,针对输入数据进行处理,再传回给父转换.所以子转换需要有一个输入步骤和用于运行时连接到父转换的输出步骤.这些接口步骤中定义输入.输出行数据的字段结构.子转换为了实现可重用性,所以当父转换调用子转换,父转换的行字段被映射到子转换的字段作为输入:同样映射发生在处理完,返回给父转换.

Kettle行列转换

Kettle在控件中拥有行列转换功能,但是行列转换貌似是弄反了. 一.行转列 1.数据库脚本 create TABLE StudentInfo ( studentno int, subject varchar(10), grade int );insert into StudentInfo values(201105545,'语文',80); insert into StudentInfo values(201105545,'数学',82); insert into StudentInfo va

kettle组件-输入

1:文本文件输入     包含六个页签:文件,内容,错误处理,过滤,字段,其他输出字段     文件:用于选中文件或目录,可以使用正则表达式     内容:文件类型---保持默认CSV即可    分隔符----指文本文件每个字段间的分区标志,不可见分隔符的输入方法:$[01]    文本限定符----指当文本字段中有分隔符作为字段内容一部分时就需要文本限定符    逃逸符-----针对文本限定符而言,当文本字段中出现文本限定符了,需要使用逃逸符    头部-------规定字段行    过滤:将

kettle组件-查询

1:数据库查询     数据库连接:所要连接的数据库  模式名称:一般选取用户模式  表名:所要查询的表名  是否使用缓存:指定是否使用数据库缓存查询结果.  缓存大小:指定缓存的大小.  从表中加载所有数据:选中该项,缓存将不被利用. 查询所需的关键字:   表字段:表示所选中的表中的字段.   比较操作符:对选中字段进行判断.   字段1/2:流中的其他(表字段中可选的字段在该选项中不能选择)字段. 查询表返回的值:   查询表返回的字段,类型,可以通过新名称对返回字段该名称.  排序:指定

kettle组件-分组

分组:  步骤名称:在单一转换中名称唯一.  分组字段:指定分组的字段.  聚合:指定需要聚合的字段,方法以及新字段结果的名称.  包含所有的行:如果选择该项,输出中就包含所有的行,不仅仅是聚合.  临时文件目录:临时文件存储的目录.  临时文件前缀:指定命名临时文件时的文件前缀.  添加行号,每一个分组重启:如果想添加行号,就选择该项.  字段名行号:指定行号将插入的字段名称.  名称:做聚合之后结果数据所对应的字段.  Subject:做聚合操作的字段.  类型:选择聚合函数.  值:定义常

Kettle之数据抽取、转换、装载

Kettle 官网 ETL利器Kettle实战应用解析系列 利用kettle组件导入excel文件到数据库 kettle中实现动态SQL查询 java中调用kettle转换文件