打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Kettle组件计算器全解析
userphoto

2023.03.13 河北

关注

Kettle组件 计算器全解析

  • kettle计算器组件介绍
    • kettle计算器组件图标
    • kettle计算器组件界面
    • kettle计算器可选计算类型介绍

kettle计算器组件介绍

kettle是一款基于java的ETL工具,他能够像水壶一样将装入的各种数据以一种统一的形式导出。
kettle计算器组件是kettle转换模块当中的一种,其能满足绝大多数的数据流计算需求,属于比较常用的一个组件。
它提供一个功能列表,可以在字段值上运行。
计算器的一个重要优势是,它有着几倍于常用的 JavaScript 脚本的速度。

kettle计算器组件图

kettle计算器组件图标如下(版本 kettle 7.1):

kettle计算器组件界面

kettle计算器组件界面如下(版本 kettle 7.1):


各控件的含义(从上至下,从左至右):

1、步骤名称:步骤的名称,在同一转换中不可重复。

2、字段:

(1)新字段:指定存储计算结果的字段名称,不可与已有字段重名(如果指定为已有字段名称,也不会替换原字段的值,而是在新字段的名称后拼接序号数字)。

(2)计算:鼠标点击,可以选择需要执行的计算类型,kettle计算器组件计算可选计算类型如下(版本 kettle 7.1):


此为部分截图,具体计算类型下文会介绍。

(3)字段A:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称,也可以设置为常量,用于Set field to constant A这一计算类型给新字段赋值。

(4)字段B:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称。

(5)字段C:从输入流中选择需要进行计算的字段名称,也可选择设置的新字段名称。

(6)值类型::为新字段指定字段类型:字符串、日期、数字、布尔值、整数、BigNumber、可序列化或二进制。

(7)长度:对于数字:数字的有效长度;对于字符串:字符串的总长度;对于日期:字符串的打印输出长度(例如,输入4只会返回年份)。

(8)精度:对于数字:小数位数。

(9)计算后移除: 下拉框选择是否要移除新字段。如果选择移除则新字段不会出现在输出流当中,此功能用于删除一些只有在计算过程中才会用到的存放临时值的临时字段。

(10)格式:格式化字符串时需要。例如需要格式化日期与时间,那么可以用yyyy-MM-dd’T’HH:mm:ss.XXX,注意其中单引号限定部分。如果需要在日期格式中使用原始字母,那么必须用单引号限定,否则将当成表达式解析。注:需与类型关联使用。

(11)小数点符号:在字符型转小数型(BigNumber)时,识别字符串中的小数点。如字符串“123,456.789”和“123456.789”转BigNumber型时,设置十进制为“.”,则能转变为123456.789。有意思的是这里除了能识别“.”,还能适配其他字符,如“,”、“|”、“_”、甚至字母“a”都可以。只要字符被替换成“.”之后整个字符串是符合数字格式的就行。注意不管设置多长的字符串,这里始终只取第一个字符作为小数点符号。

(12)分组符号:在字符型转小数型(BigNumber)时,识别字符串中的分隔符(常见的千位分隔符)。如字符串“6,123,456.789”转BigNumber型时,设置分组为“,”,则能转变为6123456.789。有意思的是这里除了能识别“,”,还能适配其他字符,如“.”、“|”、“_”、甚至字母“a”都可以。只要字符被转换后整个字符串是符合数字格式的就行。另外分组可以结合小数点符号做一些更有意思的事情,如有一个字符串如“123.456,789”,将小数点符号设为“,”,将分组设为“.”,可转换为“123,456.789”。

(13)货币符号: 货币符号,主要用在财务场景,一般放在货币金额数字的前缀或者后缀。例如人民币一般用的¥,美元一般用$,欧元一般用€。该控件对于步骤本身不产生影响,只是对该字段的货币类型进行备注。

部分描述参考CKettle官网:https://ckstore.ccsaii.com.cn/help/StepPluginType/Calculator?s=csdn

kettle计算器可选计算类型介绍

功能描述必须填
-空(不做处理,返回值为NULL)A
Set field to constant A创建一个具有恒定值的字段。A
Create a copy of field A创建具有给定字段值的字段的副本。A
A + BA加B。A and B
A - BA减B。A and B
A * BA乘B。A and B
A / BA除B。A and B
A * AA的平方。A
SQRT( A )A的平方根。A
100 * A / BA在B中的百分比。A and B
A - ( A * B / 100 )减去A的B%。A and B
A + ( A * B / 100 )将B%添加到A。A and B
A + B *CA加B乘以C。A, B and C
SQRT( A* A + B* B )计算(A平方+B平方)的平方根.A and B
ROUND( A )返回最接近参数的Integer。通过将结果加1/2,取下限,并将结果转换为int类型,将结果舍入为整数。换句话说,结果等于表达式的值:floor(a + 0.5)。如果需要舍入方法“将一半舍入为偶数”,请使用以下方法ROUND(A,B),不带小数位(B = 0)。A
ROUND( A, B )将A舍入到最接近的偶数,并用B小数表示。使用的舍入方法为“半舍入到偶数舍入”,也称为无偏舍入,收敛舍入舍入,统计学家舍入,荷兰舍入,高斯舍入,奇偶舍入,银行家舍入或零舍入舍入,并广泛用于簿记中。这是IEEE 754计算函数和运算符中使用的默认舍入模式。在德国,它通常被称为“ Mathematisches Runden”。A and B
STDROUND( A )将A舍入到最接近的整数。使用的舍入方法是“从零开始舍入一半”,也称为标准或通用舍入。在德国,它被称为“kaufmännischeRundung”(在DIN 1333中定义)。A
STDROUND( A, B )与STDROUND(A)中使用的舍入方法相同,但十进制为B。A and B
CEIL( A )上限函数将数字映射到后面的最小整数。A
FLOOR( A )底函数将数字映射到最大的先前整数。A
NVL( A, B )如果A不为NULL,则返回A,否则返回B。请注意,有时您的变量将不是null而是空字符串。A and B
Date A + B days在日期字段A中添加B天。A and B
Year of date A计算日期字段A的年份。A
Month of date A计算日期字段A的月份。A
Day of year of date A计算日期A在一年中的某天(1-365)。A
Day of month of date A计算日期A在一个月中的某天(1-31)。A
Day of week of date A计算星期几(1-7)。A
Week of year of date A计算一年中的星期(1-54)。A
ISO8601 Week of year of date A计算一年中的星期ISO8601样式(1-53)。A
ISO8601 Year of date A计算年份ISO8601样式。A
Byte to hex encode of string A将字符串中的字节编码为十六进制表示形式。A
Hex encode of string A以自己的十六进制表示形式编码字符串。A
Char to hex encode of string A将字符串中的字符编码为十六进制表示形式。A
Hex decode of string A从其十六进制表示形式解码字符串(当A为奇数长度时,添加前导0)。A
Checksum of a file A using CRC-32使用CRC-32计算文件的校验和。A
Checksum of a file A using Adler-32使用Adler-32计算文件的校验和。A
Checksum of a file A using MD5使用MD5计算文件的校验和。A
Checksum of a file A using SHA-1使用SHA-1计算文件的校验和。A
Levenshtein Distance (Source A and Target B)计算Levenshtein距离:http://en.wikipedia.org/wiki/Levenshtein_distanceA and B
Metaphone of A (Phonetics)计算单词A的变音位(语音学),用于将单词按照英文发音进行索引。详见:http : //en.wikipedia.org/wiki/MetaphoneA
Double metaphone of A计算A的双重音位:http : //en.wikipedia.org/wiki/Double_MetaphoneA
Absolute value ABS(A)计算A的绝对值。A
Remove time from a date A删除A的时间值。A
Date A - Date B (in days)计算A日期字段和B日期字段之间的天数差异。A and B
A + B + CA加B加C。A, B, and C
First letter of each word of a string A in capital转换字符串中每个单词的第一个字母。A
UpperCase of a string A将字符串转换为大写。A
LowerCase of a string A将字符串转换为小写。A
Mask XML content from string A转义XML内容;用&value替换字符。A
Protect (CDATA) XML content from string A指示XML字符串是常规字符数据,而不是非字符数据或具有更特定的受限结构的字符数据。给定的字符串将包含在<![CDATA [String]]>中。A
Remove CR from a string A从字符串中删除回车符。A
Remove LF from a string A从字符串中删除换行符。A
Remove CRLF from a string A从字符串中删除回车符/换行符。A
Remove TAB from a string A从字符串中删除制表符。A
Return only digits from string A仅输出仅输出字符串中的数字(0-9)。A
Remove digits from string A从字符串中删除所有数字(0-9)。A
Return the length of a string A返回字符串的长度。A
Load file content in binary将给定文件的内容(在字段A中)加载为二进制数据类型(例如图片)。A
Add time B to date A将时间添加到日期,将日期和时间作为一个值返回。A and B
Quarter of date A返回日期的四分之一(1到4)。A
variable substitution in string A将变量替换为字符串。A
Unescape XML content从字符串取消转义XML内容。A
Escape HTML content在字符串中转义HTML。A
Unescape HTML content在字符串中取消转义HTML。A
Escape SQL content转义字符串中的字符以适合传递给SQL查询。A
Date A - Date B (working days)计算日期字段A和日期字段B之间的差异(仅工作日为星期一至星期五)。A and B
Date A + B Months在日期字段A中添加B个月。A
Check if an XML file A is well formed验证XML文件输入。A
Check if an XML string A is well formed验证XML字符串输入。A
Get encoding of file A猜测给定文件的最佳编码(UTF-8)。A
Dameraulevenshtein distance between String A and String B计算字符串之间的Dameraulevenshtein距离:http : //en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distanceA and B
NeedlemanWunsch distance between String A and String B计算字符串之间的NeedlemanWunsch距离:http : //en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithmA and B
Jaro similitude between String A and String B返回两个字符串之间的Jaro相似系数。A and B
JaroWinkler similitude between String A and String B返回两个字符串之间的Jaro相似系数:http : //en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distanceA and B
SoundEx of String A将字符串编码为Soundex值。A
RefinedSoundEx of String A检索给定字符串对象的RefinedSoundEx代码。注意:Metaphone,Double Metaphone, Soundex和RefinedSoundEx:这些算法都是利用单词的发音来做匹配,也称为语音算法。这些语音算法的缺点是以英语为基础,所以基本不能用于法语,西班牙语,荷兰语等其他语种。A
Date A + B Hours在日期字段A中添加B小时A and B
Date A + B Minutes在日期字段A中添加B分钟A and B
Date A - Date B (milliseconds)从日期字段A减去B毫秒A and B
Date A - Date B (seconds)从日期字段A减去B秒A and B
Date A - Date B (minutes)从日期字段A减去B分钟A and B
Date A - Date B (hours)从日期字段A中减去B小时A and B
Hour of Day of Date A提取给定日期的小时部分A
Minute of Hour of Date A提取给定日期的分钟部分A
Second of Hour of Date A提取给定日期的秒部分A
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Kettle计算器的使用以及字符串格式化
第十四天-总结
java-Date类,DateFormat类,Calendar类
QGIS字段计算器常用函数详解
csdn 文档中心:利用jakarta commons lang简化java
关于DateTime和String转换的容易犯得错误
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服