使用场景1:自由编排
通过一个简单的类Python风格的配置文件进行编排,一般情况下不需要写代码即可达到80%的数据加工的需求和自由度:
提供内置的编排能力包括如下,并具备扩展能力:
- 赋值字段
- 提取字段
- 通用操作
- 分派转换
- 串联转换
- 分裂事件
- 保留事件
- 丢弃事件
- 保留字段
- 丢弃字段
- 自动提取KV
- 重命名字段
- 输出(复制)事件
使用场景2:使用内置转换模块
日志服务数据加工功能提供了完整的内置的处理模块,尤其对于正则表达式、KV、JSON、Lookup等支持灵活且完整。总体内置转换模块对常规数据加工转换支持度完整,可以覆盖总体80%的转换需求:
- 设置列值(静态/复制/UDF):各种函数计算支持
- 正则提取列:正则的完整支持,包括动态提取字段名等
- CSV格式提取:CSV标准的支持
- 字典映射:直接字段映射
- 外部OSS多列映射:从外部OSS上的CSV关联对数据进行富化,支持增量刷新、宽匹配等。
- 外部数据库多列映射:从外部数据库关联对数据进行富化,支持动态刷新、宽匹配等。
- 外部Logstore多列映射:从外部logstore关联对数据进行富化,支持增量刷新、宽匹配等。
- 自动KV:自动提取KV,也支持自定义分隔符、auto-escape场景
- JSON自动展开:支持自动展开JSON内容,包括数组,支持展开过程的定制。
- JSON-JMES过滤:支持基于JMES的动态选择与计算后再处理。
- 分裂事件(基于JSON数组或字符串):基于字符串数组或JSON数组进行事件分裂
- 多列合并(基于JSON数组或字符串):基于字符串数组或JSON数组进行多字段合并
使用场景3:使用内置表达式函数
目前日志服务对外的插件编写尚未开放,但提供了内置150种函数,基本覆盖了主流的数据加工的需求,包括:
- 基本操作函数: 字段取值, 控制, 比较, 容器判断, 多字段操作等
- 转换函数: 基础类型转换, 数字转换
- 算术函数: 基础计算, 多值计算比较, 数学计算, 数学参数等
- 字符串函数: 多字段操作, 编码/解码, 排序、倒叙、替换, 常规规整, 查找判断, 切分, 格式化, 字符集判断等
- 日期时间函数: 智能日期时间转换, 获取日期时间属性, 获取日期时间, 获取Unix时间戳, 获取日期时间字符串, 修改日期时间, 修改日期时间, 比较日期时间等
- 正则表达式函数: 字段提取, 匹配判断, 替换, 切分等
- JSON与XML函数: 提取过滤等
- 其他高阶函数: Syslog函数等
使用场景4:扩展插件或UDF
底层目前采用Python引擎,理论上任意Python的库都可以稍加包装即可进入日志服务的数据加工,目前自定义UDF功能,尚未开放,但外部客户使用内置的150+函数(持续增加)基本完成完成大部分工作,不能满足需求的,可以提工单并获得及时支持。
进一步参考
欢迎扫码加入官方钉钉群 (11775223)获得实时更新与阿里云工程师的及时直接的支持: