从OBS获取csv文件进行数据富化
本文档介绍如何通过资源函数和映射富化函数从OBS中获取数据对日志数据进行富化。
前提条件
已上传csv文件到OBS。
背景信息
OBS是华为云提供的一个高可靠、高性能、高安全的基于对象的海量存储云服务。针对更新不频繁的数据,建议您存储在OBS上,只需要支付少量的存储费用即可。当您分散存储数据,面临日志数据不完善时,您可以从OBS中获取数据。日志服务数据加工支持使用res_obs_file函数从OSS中获取数据,再使用tab_parse_csv函数构建表格,最后使用e_table_map函数进行字段匹配,返回指定字段和字段值,生成新的日志数据。
实践案例
- 原始日志
{ "account":"Sf24asc4ladDS" }
- OBS Bucket中的CSV文件数据
表1 CSV文件数据 id
account
nickname
1
Sf24asc4ladDS
多弗朗明哥
2
Sf24asc4ladSA
凯多
3
Sf24asc4ladCD
罗杰
CSV文件需要是UNIX文件格式,windows文件格式暂不支持。
- 加工规则
通过原始日志中的account字段和OBS CSV文件中的account字段进行匹配,只有account字段的值完全相同,才能匹配成功。匹配成功后,返回OBS CSV文件中的nickname字段和字段值,与原始日志中的数据拼接,生成新的数据。
e_table_map(tab_parse_csv(res_obs_file("https://obs.xxx.myhuaweicloud.com","dsl-test-xx","data.csv")),"account","nickname")
res_obs_file函数重要字段说明如下表所示,更多参数说明请参见资源函数。
字段
说明
endpoint
obs访问域名,详情请参见res_obs_file。
bucket
用于存储CSV文件的OBS Bucket。
file
目标OBS文件的路径。例如test/data.txt,不能以正斜线(/)开头。
- 加工结果
{ "nickname": "多弗朗明哥", "account": "Sf24asc4ladDS" }