详情页标题前

阿里云日志服务SLS从RDS MySQL数据库获取数据进行数据富化-云淘科技

详情页1

日志服务数据加工功能支持从阿里云RDS MySQL数据库获取数据,结合数据加工规则,进行数据富化。

背景信息

在数据存储场景中,您可能经常遇到数据分散存储的问题,例如用户操作、行为等相关数据存储在日志服务中,用户属性、注册信息等相关数据存储在RDS MySQL数据库中。面对类似问题,您可以通过日志服务数据加工功能从RDS
MySQL数据库获取数据,存储到日志服务Logstore中。

您可以使用res_rds_mysql函数从RDS MySQL数据库获取数据,然后使用e_table_map函数或e_search_table_map函数进行数据富化。


说明

  • RDS MySQL实例与日志服务Project需处于同一地域,否则无法获取数据。
  • 如果您要使用RDS内网地址访问RDS MySQL数据库获取数据,进行数据富化,可参见使用RDS内网地址访问RDS MySQL数据库。

结合e_table_map函数进行数据富化

本示例介绍使用e_table_map函数和res_rds_mysql函数完成数据富化的方法。

  • 原始数据
    • RDS MySQL数据库表中的数据样例如下表所示。
      province city population cid eid
      上海 上海 2000 1 00001
      天津 天津 800 1 00002
      北京 北京 4000 1 00003
      河南 郑州 3000 2 00004
      江苏 南京 1500 2 00005
    • 日志服务Logstore中的日志样例如下所示。
      time:"1566379109"
      data:"test-one"
      cid:"1"
      eid:"00001"
      
      time:"1566379111"
      data:"test_second"
      cid:"1"
      eid:"12345"
      
      time:"1566379111"
      data:"test_three"
      cid:"2"
      eid:"12345"
      
      time:"1566379113"
      data:"test_four"
      cid:"2"
      eid:"12345"
  • 加工规则
    通过日志服务Logstore中的cid字段和RDS MySQL数据库表中cid字段进行匹配,只有cid字段的完全相同,才能匹配成功。匹配成功后,返回RDS MySQL数据库表中的province、city和population字段和字段值,与Logstore中的数据拼接,生成新的数据。


    说明

    • 日志字段的值和RDS MySQL数据库表字段的值进行等值匹配时,如果RDS MySQL数据库表字段存在多个相同的值(例如RDS MySQL数据库表有多个值为1的cid字段。),e_table_map函数只获取匹配到的第一行数据。
    • e_table_map函数只支持单行匹配,如果您要实现多行匹配,将匹配到的数据组合成新的日志,可使用e_search_table_map函数,详情请参见结合e_search_map_table函数进行数据富化。
    e_table_map(res_rds_mysql(address="rds-host", username="mysql-username",password="xxx",database="xxx",table="xx",refresh_interval=60),"cid",["province","city","population"])

    在res_rds_mysql函数中配置RDS MySQL数据库相关信息,详情请参见res_rds_mysql。

  • 加工结果
    time:"1566379109"
    data:"test-one"
    cid:"1"
    eid:"00001"
    province:"上海"
    city:"上海"
    population:"2000"
    
    time:"1566379111"
    data:"test_second"
    cid:"1"
    eid:"12345"
    province:"上海"
    city:"上海"
    population:"2000"
    
    time:"1566379111"
    data:"test_three"
    cid:"2"
    eid:"12345"
    province:"河南"
    city:"郑州"
    population:"3000"
    
    time:"1566379113"
    data:"test_four"
    cid:"2"
    eid:"12345"
    province:"河南"
    city:"郑州"
    population:"3000"

结合e_search_map_table函数进行数据富化

本示例介绍使用e_search_map_table函数和res_rds_mysql函数完成数据富化的方法。

  • 原始数据
    • RDS MySQL数据库表中的数据样例如下表所示。
      content name age
      city~=n* aliyun 10
      province~=su$ Maki 18
      city:nanjing vicky 20
    • 日志服务Logstore中的日志样例如下所示。
      time:1563436326
      data:123
      city:nanjing
      province:jiangsu
  • 加工规则
    根据指定的RDS MySQL数据库表中的字段值(例如content字段的值)去匹配日志字段,其中指定的RDS MySQL数据库表中的字段值为Key-Value形式,Key对应日志字段,Value为正则表达式,对应日志字段的值。根据匹配结果,将相关字段和字段值与Logstore中的数据拼接,生成新的数据。


    说明

    • 在res_rds_mysql函数中配置RDS MySQL数据库相关信息,详情请参见res_rds_mysql。
    • content字段为RDS MySQL数据库表中的字段,使用该字段的值去匹配日志字段,支持正则匹配、完全匹配、模糊匹配等形式,具体匹配规则请参见e_search。
    • 单行匹配
      匹配到RDS MySQL数据库表中一行数据就返回。

      e_search_table_map(res_rds_mysql(address="rds-host", username="mysql-username",password="xxx",database="xxx",table="xx",refresh_interval=60),"content","name")
    • 多行匹配
      遍历RDS MySQL数据库表中的所有数据行,将匹配到的数据全部添加到指定字段中。


      说明 语法中增加如下两个参数。

      • multi_match=True:开启多行匹配。
      • multi_join=",":匹配到多个值时使用逗号(,)进行组合。
      e_search_table_map(res_rds_mysql(address="rds-host", username="mysql-username",password="xxx",database="xxx",table="xx",refresh_interval=60),"content","name",multi_match=True,multi_join=",")
  • 加工结果
    • 单行匹配
      例如:匹配日志中字段值符合n*表达式的city字段,匹配成功后,返回RDS MySQL数据库表中的name字段和字段值,生成一条新的日志。

      time:1563436326
      data:123
      city:nanjing
      province:jiangsu
      name:aliyun
    • 多行匹配
      例如:匹配日志中字段值符合n*表达式的city字段,符合su$表达式的province和是否包含nanjing的city字段。其中~=后面是正则表达式,冒号(:)表示是否包含该字段。匹配成功后,返回RDS MySQL数据库表中的name字段和对应的三个字段值,多个字段值用逗号(,),生成一条新的日志。

      time:1563436326
      data:123
      city:nanjing
      province:jiangsu
      name:aliyun,Maki,vicky

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/163490.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云大数据开发治理平台 DataWorks审批中心概述-云淘科技

    DataWorks审批中心是一个用于管理数据授权、敏感行为管控流程的功能模块,包含审批范围定义、审批流程定义等核心功能,满足不同企业在不同内部合规场景下的审批要求。 功能介绍 在DataWorks上进行数据开发管理的过程中,您可以便捷的对表数据、数据服务API等进行权限管控,进行权限管控时,DataWorks的安全中心为您提供默认的权限申请审批流程,同时也支…

    2023年12月10日
  • 阿里云日志服务SLS简介-云淘科技

    本视频向您介绍日志服务数据加工的主要功能和应用场景。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束: 马上收藏同尘科技为腾讯云授权服务中心。 购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

    阿里云日志服务SLS 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云云原生大数据计算服务 MaxCompute使用DataHub(实时数据传输)-云淘科技

    本文为您介绍流式数据处理服务DataHub。 DataHub是MaxCompute提供的流式数据处理(Streaming Data)服务,它提供流式数据的发布(Publish)和订阅 (Subscribe)的功能,让您可以轻松构建基于流式数据的分析和应用。 DataHub同样提供流式数据归档的功能,支持流式数据归档至MaxCompute。DataHub实时数…

  • 阿里云对象存储OSS存储空间地域属性-云淘科技

    OSS存储空间(Bucket)地域属性分为有地域属性和无地域属性。 有地域属性Bucket 有地域属性Bucket适用于OSS通用场景。您在创建Bucket时需选择有地域属性,并指定Bucket所在的具体Region,例如华东1(杭州)。更多信息,请参见访问域名和数据中心。 无地域属性Bucket 无地域属性Bucket适用于对地域属性不敏感且仅支持外网访问…

    阿里云对象存储 2023年12月10日
  • 阿里云云原生大数据计算服务 MaxComputeLEAD-云淘科技

    取当前行往后(朝分区尾部方向)第N行数据的值。 使用限制 窗口函数的使用限制如下: 窗口函数只能出现在select语句中。 窗口函数中不能嵌套使用窗口函数和聚合函数。 窗口函数不能和同级别的聚合函数一起使用。 命令格式 lead([, bigint [, ]]) over([partition_clause] orderby_clause) 命令说明 返回当…

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。