更新时间:2024-08-02 GMT+08:00
分享

从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"
    }

相关文档