1. FieldOperation

  • Author: zihjiang
  • Version: 0.0.1

1.1.1. Description

生成一个全新字段, 支持sql函数

name type required default value
target_field string yes
script string yes
common-options string no -
target_field [string]

目标字段名

script [string]

sql脚本, 可以是sql函数, 也可以是常量字符串, 常量字符串必须用单引, 完整的支持的函数列表

常用函数

函数/范例 说明
string1 \ \ string2 返回 STRING1 和 STRING2 的相加。
CHAR_LENGTH(string) CHARACTER_LENGTH(string) 返回 STRING 中的字符数。
UPPER(string) 以大写形式返回 STRING。
LOWER(string) 以小写形式返回 STRING。
POSITION(string1 IN string2) 返回 STRING2 中第一次出现 STRING1 的位置(从 1 开始);如果在 STRING2 中找不到 STRING1,则返回 0。
TRIM([ BOTH \ LEADING \ TRAILING ] string1 FROM string2) 返回从 STRING1 中删除前导和/或尾随字符 STRING2 的字符串。默认情况下,两边的空格都会被删除。
LTRIM(string) 返回一个从 STRING 中删除左边空格的字符串。例如,'这是一个测试字符串。'.ltrim() 返回“这是一个测试字符串。”。
RTRIM(string) 返回一个从 STRING.Eg 中删除正确空格的字符串。例如,'这是一个测试字符串。 '.rtrim() 返回“这是一个测试字符串。”。
REPEAT(string, int) 返回一个字符串,它重复基本字符串整数次。例如,REPEAT('This is a test String.', 2) 返回“这是一个测试字符串。这是一个测试字符串。”。
REGEXP_REPLACE(string1, string2, string3) 从 STRING1 返回一个字符串,其中所有与正则表达式 STRING2 匹配的子字符串连续被 STRING3 替换。例如, 'foobar'.regexpReplace('oo\ ar', '') returns "fb".
OVERLAY(string1 PLACING string2 FROM integer1 [ FOR integer2 ]) 返回一个字符串,该字符串从位置 INT1 用 STRING2 替换 STRING1 的 INT2(默认为 STRING2 的长度)字符。例如,'xxxxxtest'.overlay('xxxx', 6) 返回“xxxxxxxxx”; 'xxxxxtest'.overlay('xxxx', 6, 2) 返回“xxxxxxxxxst”。
SUBSTRING(string FROM integer1 [ FOR integer2 ]) 返回 STRING 的子字符串,从位置 INT1 开始,长度为 INT2(默认到结尾)。
REPLACE(string1, string2, string3) 返回一个新字符串,该字符串将所有出现的 STRING2 替换为 STRING1 中的 STRING3(非重叠)。例如,'hello world'.replace('world', 'flink') 返回 'hello flink'; 'ababab'.replace('abab', 'z') 返回 'zab'。
REGEXP_EXTRACT(string1, string2[, integer]) 从 string1 返回一个字符串,该字符串使用指定的正则表达式 string2 和正则表达式匹配组索引整数提取。正则表达式匹配组索引从 1 开始,0 表示匹配整个正则表达式。此外,正则表达式匹配组索引不应超过定义的组数。例如 REGEXP_EXTRACT('foothebar', 'foo(.*?)(bar)', 2)" 返回 "bar"。
INITCAP(string) 返回新形式的 STRING,其中每个单词的第一个字符转换为大写,其余字符转换为小写。这里的单词表示字母数字字符序列。
CONCAT(string1, string2,...) 返回连接 string1、string2、...的字符串。如果任何参数为 NULL,则返回 NULL。例如,CONCAT('AA', 'BB', 'CC') 返回“AABBCC”。
CONCAT_WS(string1, string2, string3,...) 返回将 STRING2、STRING3、... 与分隔符 STRING1 连接起来的字符串。在要连接的字符串之间添加分隔符。如果 STRING1 为 NULL,则返回 NULL。与 concat() 相比, concat_ws() 会自动跳过 NULL 参数。例如, concat_ws('~', 'AA', Null(STRING), 'BB', '', 'CC') 返回“AA~BB~~CC”。
LPAD(string1, integer, string2) 返回一个新字符串,从 string1 左边填充 string2 到整数字符的长度。如果 string1 的长度小于 integer,则返回 string1 缩短为整数字符。例如,LPAD('hi',4,'??') 返回“??hi”; LPAD('hi',1,'??') 返回“h”。
RPAD(string1, integer, string2) 从 string1 中返回一个新字符串,用 string2 右填充,长度为整数字符。如果 string1 的长度小于 integer,则返回 string1 缩短为整数字符。例如,RPAD('hi',4,'??') 返回“hi??”,RPAD('hi',1,'??') 返回“h”。
FROM_BASE64(string) 从字符串返回 base64 解码的结果;如果字符串为 NULL,则返回 NULL。例如,FROM_BASE64('aGVsbG8gd29ybGQ=') 返回“hello world”。
TO_BASE64(string) 从字符串返回 base64 编码的结果;如果字符串为 NULL,则返回 NULL。例如,TO_BASE64('hello world') 返回“aGVsbG8gd29ybGQ=”。
ASCII(string) 返回字符串第一个字符的数值。如果字符串为 NULL,则返回 NULL。例如,ascii('abc') 返回 97,而 ascii(CAST(NULL AS VARCHAR)) 返回 NULL。
CHR(integer) 返回二进制等效于整数的 ASCII 字符。如果整数大于 255,我们将先得到整数除以 255 的模数,并返回模数的 CHR。如果整数为 NULL,则返回 NULL。例如,chr(97) 返回 a,chr(353) 返回 a,而 ascii(CAST(NULL AS VARCHAR)) 返回 NULL。
DECODE(binary, string) 使用提供的字符集('US-ASCII'、'ISO-8859-1'、'UTF-8'、'UTF-16BE'、'UTF-16LE'、'UTF- 16')。如果任一参数为空,则结果也将为空。
ENCODE(string1, string2) 使用提供的 string2 字符集('US-ASCII'、'ISO-8859-1'、'UTF-8'、'UTF-16BE'、'UTF-16LE'、'UTF- 16')。如果任一参数为空,则结果也将为空。
INSTR(string1, string2) 返回 string2 在 string1 中第一次出现的位置。如果任何参数为 NULL,则返回 NULL。
LEFT(string, integer) 返回字符串中最左边的整数字符。如果整数为负,则返回 EMPTY 字符串。如果任何参数为 NULL,则返回 NULL。
RIGHT(string, integer) 返回字符串中最右边的整数字符。如果整数为负,则返回 EMPTY 字符串。如果任何参数为 NULL,则返回 NULL。
LOCATE(string1, string2[, integer]) 返回 string2 中 string1 在位置 integer 之后第一次出现的位置。如果未找到,则返回 0。如果任何参数为 NULL,则返回 NULL。
PARSE_URL(string1, string2[, string3]) 从 URL 返回指定的部分。 string2 的有效值包括“HOST”、“PATH”、“QUERY”、“REF”、“PROTOCOL”、“AUTHORITY”、“FILE”和“USERINFO”。如果任何参数为 NULL,则返回 NULL。例如,parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'HOST'),返回 'facebook.com'。还可以通过提供键作为第三个参数 string3 来提取 QUERY 中特定键的值。例如, parse_url('http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1', 'QUERY', 'k1') 返回 'v1'。
REGEXP(string1, string2) 如果 string1 的任何(可能为空)子字符串与 Java 正则表达式 string2 匹配,则返回 TRUE,否则返回 FALSE。如果任何参数为 NULL,则返回 NULL。
REVERSE(string) 返回翻转的字符串, 如果参数为null, 则返回null
SPLIT_INDEX(string1, string2, integer1) 通过分隔符 string2 拆分 string1,返回拆分字符串的第整数(从零开始)字符串。如果整数为负,则返回 NULL。如果任何参数为 NULL,则返回 NULL。
STR_TO_MAP(string1[, string2, string3]]) 使用分隔符将 string1 拆分为键/值对后返回一个映射。 string2 是对分隔符,默认为 ','。而 string3 是键值分隔符,默认为 '='。
SUBSTR(string[, integer1[, integer2]]) 返回字符串的子字符串,从位置 integer1 开始,长度为 integer2(默认到末尾)。
common options [string]

Transform 组件通用参数,详情参照 Transform

配置示例

    {
      "source_table_name": "dataGenTableStreamTable",
      "result_table_name": "FieldOperation_time",
      "plugin_name": "FieldOperation",
      "target_field": "_time",
      "script": "UNIX_TIMESTAMP()*1000"
    }

results matching ""

    No results matching ""