すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:データ強化のためにApsaraDB RDS for MySQLデータベースからデータを取得する

最終更新日:Jan 23, 2025

Simple Log Serviceのデータ変換機能を使用すると、ApsaraDB RDS for MySQLデータベースからデータを取得し、データ変換ルールに基づいてデータを強化できます。

背景情報

データを分析するときは、さまざまなストレージソースからデータを取得する必要があります。 たとえば、ユーザー操作とユーザー行動のデータはSimple Log Serviceに保存され、ユーザープロパティと登録のデータはApsaraDB RDS For MySQLデータベースに保存されます。 この場合、データ変換機能を使用してデータベースからデータを取得し、そのデータをLogstoreに保存できます。

res_rds_mysql関数を使用してApsaraDB RDS for MySQLデータベースからデータを取得し、e_table_map関数を使用してデータをエンリッチします。

説明
  • ApsaraDB RDS for MySQLデータベースが作成されるインスタンスは、Simple Log Serviceプロジェクトと同じリージョンに存在する必要があります。 そうしないと、データベースからデータを取得できません。

  • データベースが作成されたインスタンスの内部エンドポイントを使用して、ApsaraDB RDS for MySQLデータベースにアクセスし、そこからデータを取得できます。 詳細については、「Simple Log Serviceを使用してApsaraDB RDS For MySQLインスタンスに接続し、データを強化する」をご参照ください。

e_table_map関数を使用してデータをエンリッチする

この例では、e_table_map関数とres_rds_mysql関数を使用してデータをエンリッチします。

  • 生データ

    • ApsaraDB RDS for MySQLデータベースのテーブル内のサンプルデータレコード

      人口

      cid

      eid

      上海

      上海

      2000

      1

      00001

      天津

      天津

      800

      1

      00002

      北京

      北京

      4000

      1

      00003

      河南省

      鄭州

      3000

      2

      00004

      江蘇

      南京

      1500

      2

      00005

    • Simple Log Service 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フィールドをテーブルのcidフィールドと一致させることができます。 cidフィールドの値がLogstoreとテーブルで同じ場合、ログはデータレコードと一致します。 次に、テーブル内の一致したデータレコードのprovincecitypopulationフィールドとフィールド値を返し、返されたデータをLogstore内の一致したログと連結して新しいログを生成します。

    説明
    • フィールドの複数の値がテーブルで一致する場合、e_table_map関数は最初のデータレコードのみを取得します。 この例では、テーブルのcidフィールドに1の複数の値があります。

    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関数でApsaraDB RDS For MySQLデータベースを設定する方法の詳細については、「res_rds_mysql」をご参照ください。

  • 変換結果

    time:"1566379109"
    data:"test-one"
    cid:"1"
    eid:"00001"
    province:"Shanghai"
    city:"Shanghai"
    population:"2000"
    
    time:"1566379111"
    data:"test_second"
    cid:"1"
    eid:"12345"
    province:"Shanghai"
    city:"Shanghai"
    population:"2000"
    
    time:"1566379111"
    data:"test_three"
    cid:"2"
    eid:"12345"
    province:"Henan"
    city:"Zhengzhou"
    population:"3000"
    
    time:"1566379113"
    data:"test_four"
    cid:"2"
    eid:"12345"
    province:"Henan"
    city:"Zhengzhou"
    population:"3000"