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

Simple Log Service:LogstoreをOSS外部テーブルに関連付けてクエリと分析を実行する

最終更新日:Sep 09, 2024

一部のシナリオでは、外部テーブルを使用してログをクエリおよび分析する必要があります。 このトピックでは、LogstoreをObject Storage Service (OSS) 外部テーブルに関連付けてクエリと分析を実行する方法について説明します。

前提条件

  • ログは継続的に収集されます。 詳細については、「データ収集の概要」をご参照ください。

  • インデックスが作成されます。 詳細については、「インデックスの作成」をご参照ください。

  • OSSバケットが作成されます。 詳細については、「バケットの作成」をご参照ください。

説明

最大サイズが10 MBのOSSオブジェクトを1つだけ関連付けることができます。 オブジェクトは圧縮できません。 関連パラメーターに正規表現を指定することはできません。

背景情報

会社Aは電子決済会社です。 会社Aは、ユーザの年齢、地理的位置、および性別が支払いの好みに与える影響を分析したいと考えている。 A社は、Simple Log Serviceを使用して支払い行動ログを収集し、ユーザープロパティ情報をOSSバケットに保存しています。 支払い動作ログには、請求書と支払い方法が含まれます。 ユーザプロパティ情報は、ユーザに関する地理的位置、年齢、および性別情報を含む。 Simple Log Serviceのクエリおよび分析エンジンを使用すると、Logstoreを外部ストアに関連付けてクエリおよび分析を実行できます。 外部ストアには、MySQLデータベースとOSSバケットが含まれます。 ユーザープロパティに関連するメトリックを分析するには、SQL JOIN構文を使用して支払い動作ログをユーザープロパティ情報に関連付けることができます。

Simple Log ServiceをOSSバケットに関連付けてクエリと分析を実行すると、次のメリットが得られます。

  • 費用対効果: 更新頻度の低いデータをOSSバケットに保存すると、内部ネットワーク経由でデータを読み取ることができます。 この場合、ストレージサービスの料金のみを支払う必要があり、インターネットトラフィックの料金はかかりません。

  • O&Mワークロードの削減: すべてのデータを1つのストレージシステムに保存することなく、軽量な関連付け分析を実行できます。

  • 高効率: SQL文を使用して、数秒以内にデータを分析し、分析結果を表示できます。 よく照会される分析結果に基づいてグラフを作成することもできます。 次に、グラフをクリックして分析結果を表示できます。

手順

  1. CSVファイルを作成し、OSSバケットにアップロードします。

    1. という名前のファイルを作成します。user.csv.

      userid,nick,gender,province,age
      1,User A,male,Shanghai,18
      2,User B,female,Zhejiang,19
      3,User C,male,Guangdong,18
    2. user.csvファイルをOSSバケットにアップロードします。 詳細については、「オブジェクトのアップロード」をご参照ください。

  2. にログインします。Simple Log Serviceコンソール.

  3. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

    image

  4. 左側のナビゲーションウィンドウで、[ログストレージ] をクリックします。 Logstoreリストで、管理するLogstoreをクリックします。

    image

  5. 表示されるページで、検索ボックスにクエリステートメントを入力し、クエリ時間範囲を選択します。

    次のSQL文を実行して、user_meta1という名前の仮想外部テーブルを作成し、そのテーブルをOSSオブジェクトuser.csvにマップします。 出力のresulttrueの場合、SQL文が実行され、外部ストアが作成されます。

    * | create table user_meta1 ( userid bigint, nick varchar, gender varchar, province varchar, age bigint) with ( endpoint='oss-cn-hangzhou.aliyuncs.com',accessid='LTAI5t8y9c113M7V****',accesskey='Y45H7bqvvgapWZR****',bucket='testoss',objects=ARRAY['user.csv'],type='oss')

    '

    外部存储

    SQL文で外部ストアの名前とテーブルスキーマを定義し、WITH句でOSSオブジェクトにアクセスするために必要な情報を定義します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    外部ストア名

    外部ストアの名前。 この名前は、仮想外部テーブルの名前と同じです。

    user_meta1

    テーブルのスキーマ

    列名とデータ型を含む、仮想外部テーブルのプロパティ。 例: (userid bigint, nick varchar, gender varchar, province varchar, age bigint)

    (userid bigint、nick varchar、gender varchar、province varchar、age bigint)

    エンドポイント

    OSSの内部エンドポイント。 詳細は、「リージョンとエンドポイント」をご参照ください。

    oss-cn-hangzhou.aliyuncs.com

    accessid

    OSSバケットへのアクセスに使用されるAccessKey ID。 詳細は、「AccessKeyペア」をご参照ください。

    LT **** 7V

    accesskey

    OSSバケットへのアクセスに使用されるAccessKeyシークレット。 詳細は、「AccessKeyペア」をご参照ください。

    Y4 **** ZR

    バケット

    CSVオブジェクトが保存されているOSSバケット。

    testoss

    オブジェクト

    CSVオブジェクトのパス。

    説明

    objectsパラメーターの値は配列です。 配列には1つの要素のみを含めることができます。 要素はOSSオブジェクトを表します。

    user.csv

    タイプ

    外部ストアのタイプ。 値をossに設定します。

    oss

  6. 外部ストアが作成されているかどうかを確認します。

    次のステートメントを実行します。 定義したテーブルコンテンツが返されると、外部ストアが作成されます。 user_meta1は外部ストアの名前です。 ビジネスシナリオに基づいてこのパラメーターを設定します。

    * | select * from user_meta1

    验证结果

  7. Simple Log ServiceとOSSでJOINクエリを実行します。

    次のステートメントを実行してJOINクエリを実行します。 Logstoreは、LogstoreのIDフィールドとOSSオブジェクトのuseridフィールドに基づいてOSSオブジェクトに関連付けられます。 test_accesslogはLogstoreの名前です。 lはLogstoreのエイリアスです。 user_meta1は、定義する外部ストアの名前です。 ビジネスシナリオに基づいてパラメーターを設定できます。

    * | select * from test_accesslog l join user_meta1 u on l.userid = u.userid

    例:

    • さまざまな性別のユーザーからのアクセス要求を分析します。

      * | select u.gender, count(1) from test_accesslog l join user_meta1 u on l.userid = u.userid group by u.gender

      性别访问

    • さまざまな年齢のユーザーからのアクセス要求を分析します。

      * | select u.age, count(1) from test_accesslog l join user_meta1 u on l.userid = u.userid group by u.age

      年龄访问

    • さまざまな年齢のユーザーのさまざまな時間範囲のアクセス傾向を分析します。

      * | select date_trunc('minute',__time__) as minute, count(1) ,u.age from test_accesslog l join user_meta1 u on l.userid = u.userid group by u.age,minute

      时间访问