全部产品
Search
文档中心

日志服务:从RDS MySQL数据库获取数据进行数据富化

更新时间:Dec 18, 2024

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

背景信息

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

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

说明

结合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数据库表中的provincecitypopulation字段和字段值,与Logstore中的数据拼接,生成新的数据。

    说明
    • 日志字段的值和RDS MySQL数据库表字段的值进行等值匹配时,如果RDS MySQL数据库表字段存在多个相同的值(例如RDS MySQL数据库表有多个值为1cid字段),e_table_map函数只获取匹配到的第一行数据。

    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"