tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

富化函数

PDF
聚焦模式
字号
最后更新时间: 2025-12-11 11:18:23

t_table_map 函数

函数定义

与目标表格进行映射,根据输入的字段名称返回字段值,可简单理解为日志和维度表关联。

语法描述

t_table_map(data, field, output_fields, missing=None, mode="fill-auto")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
data
目标表格(维度表)
table
-
-
field
日志中映射到表格的源字段。如果日志中不存在对应字段,则不进行任何操作。支持 String 和 String List
any
-
-
output_fields
映射后的字段。例如["province", "pop"]。支持 String 和 String List
any
-
-
missing
无匹配字段时,将该参数的取值赋给输出字段 output_fields
String
-
-
mode
字段的覆盖模式。默认为 fill-auto
String
fill-auto

示例

示例1:从 MySQL 中富化多个新的字段

MySQL 中新建一个表 test,添加如下数据:

原始日志:
[
{
"user_id": 1
},
{
"user_id": 3
}
]
加工规则:
res_rds_mysql 用于从 MySQL 中获取维度表数据。
//在控制台将外部数据 MySQL 的别名配置为 hm,mysql 的 db 为 test222,表名为 test
//从 MySQL 拉取全部数据,使用 t_table_map 函数完成维度表关联

t_table_map(
res_rds_mysql(alias="hm",database="test222",sql="select * from test"),
"user_id",
["gameid", "game"]
)
加工结果:
[
{
"user_id":"1"
},
{
"game":"wangzhe",
"gameid":"123",
"user_id":"3"
}
]

示例2:关联的字段名称不同,重命名富化的字段

日志字段 Pid 和 MySQL 中的 id 字段关联,名称不同。从 MySQL 中富化的 game_details 字段,在日志中重命名为 game_info。
MySQL 中新建一个表 test,添加如下数据:

原始日志:
[
{
"Pid": 1
},
{
"Pid": 2
},
{
"Pid": 3
}
]
加工规则:
//在控制台将外部数据 MySQL 的别名配置为 hm,mysql 的 db 为 test222,表名为 test
//从 MySQL 拉取部分数据,使用 t_table_map 函数完成维度表关联
//日志字段Pid和MySQL中的id字段关联, 名称不同
//从 MySQL 中富化的 game_details 字段,在日志中重命名为 game_info
t_table_map(
res_rds_mysql(alias="hm",database="test222",sql="select * from test where region='CN'"),
[["Pid", "id"]],
["game_name",["game_details","game_info"]]
)
加工结果:
[
{
"Pid":"1"
"game_info":"MOBA手游"
"game_name":"王者荣耀"
},
{
"Pid":"2"
},
{
"Pid":"3"
"game_info":"开放世界RPG游戏"
"game_name":"原神"
}
]

enrich_table 函数

函数定义

使用 CSV 结构数据对日志中的字段进行匹配,当值相同时,可以将 CSV 中的其他字段和值添加到源日志中。

语法描述

enrich_table(“csv 源数据”, “csv 富化字段”, output=“目标字段1,目标字段2,目标字段...., mode="overwrite")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
data
输入的 CSV 数据,第一行为列名,其余行对应值。例如:region,count\\nbj, 200\\ngz, 300
String
-
-
fields
待匹配列名称。CSV 中的字段名称,与实际日志中同名的字段进行匹配。单个字段名或以英文半角逗号拼接的多个新字段名
String
-
-
output
输出字段列表,单个字段名或以英文半角逗号拼接的多个新字段名
String
-
-
mode
新字段的写入模式。默认强制覆盖
String
overwrite
-

示例

原始日志:
{"region": "gz"}
加工规则:
enrich_table("region,count\\nbj,200\\ngz,300", "region", output="count")
加工结果:
{"count":"300","region":"gz"}

enrich_dict 函数

函数定义

使用 Dict 结构对日志中的字段值进行匹配,当指定的字段的值和 Dict 中的 Key 相同时,将此 Key 对应的 Value 赋值给日志中的另一字段。

语法描述

enrich_dict(“JSON 字典”, "源字段名", output=目标字段, mode="overwrite")

参数说明

参数名称
参数描述
参数类型
是否必须
参数默认值
参数取值范围
data
输入的 dict 数据,这里必须是 JSON 对象的转义字符串,例如:{\\"200\\":\\"SUCCESS\\",\\"500\\":\\"FAILED\\"}
String
-
-
fields
待匹配字段名称。当 dict 中的 key 和指定字段对应的值相同时,匹配成功。单个字段名或以英文半角逗号拼接的多个新字段名
String
-
-
output
目标字段列表。匹配成功后,将 dict 中对应的 value 写入到目标字段列表。单个字段名或以英文半角逗号拼接的多个新字段名
String
-
-
mode
新字段的写入模式。默认强制覆盖
String
overwrite

示例

原始日志:
{"status": "500"}
加工规则:
enrich_dict("{\\"200\\":\\"SUCCESS\\",\\"500\\":\\"FAILED\\"}", "status", output="message")
加工结果:
{"message":"FAILED","status":"500"}


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈