metron3

转换语言

对于各种组件,需要以可插拔的方式转换消息并组合这些转换。为此,有一个简单的DSL,允许为公共转换定义函数,并将这些函数组合起来。

转换语言

 

目前支持的职能是:

  • TO_LOWER(string)*将第一个参数转换为小写字符串
  • TO_UPPER(string)*将第一个参数转换为大写字符串
  • TO_STRING(string)*将第一个参数转换为字符串
  • TO_INTEGER(x)*将第一个参数转换为整数
  • TO_DOUBLE(x)*将第一个参数转换为双参数
  • TRIM(string)从字符串的两边修剪空格。
  • JOIN(list, delim)*用指定的分隔符连接列表的组件
  • SPLIT(string, delim)*将字符串拆分为分隔符。返回一个列表。
  • GET_FIRST(list)返回列表的第一个元素
  • GET_LAST(list)返回列表的最后一个元素
  • GET(list, i):返回列表的I‘th元素(i基于0)。
  • MAP_GET(key, map, default):返回与映射中的键关联的值。如果密钥不存在,则将返回默认值。如果默认值未指定,则返回NULL。
  • DOMAIN_TO_TLD(domain):返回域的TLD。
  • DOMAIN_REMOVE_TLD(domain)*删除域的TLD。
  • REMOVE_TLD(domain)*从域中移除TLD。
  • URL_TO_HOST(url):从URL返回主机
  • URL_TO_PROTOCOL(url):从URL返回协议
  • URL_TO_PORT(url):从URL返回端口
  • URL_TO_PATH(url):从URL返回路径
  • TO_EPOCH_TIMESTAMP(dateTime, format, timezone):返回dateTime鉴于format。如果格式没有时间戳,并且希望使用给定的时间戳,则可以指定timezone可选的。

示例转换:

TO_EPOCH_TIMESTAMP(timestamp, 'yyyy-MM-dd HH:mm:ss', MAP_GET(dc, dc2tz, 'UTC'))

的消息。timestampdc字段中,我们希望将时间戳设置为给定时区的纪元时间戳,我们将在单独的地图中查找该时间戳,称为dc2tz.

这将时间戳字段转换为基于

  • 格式yyyy-MM-dd HH:mm:ss
  • 价值dc2tz与字段关联的值关联dc,拖欠UTC

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值