このトピックでは、Log ServiceをObject Storage Service (OSS) バケットに関連付ける外部ストアを作成する方法について説明します。

始める前に

  • ログが収集されていること。 詳細については、「データ収集の概要」をご参照ください。
  • インデックス作成機能が有効になり、インデックスが作成されます。 詳細については、「インデックスの作成」をご参照ください。
  • OSSバケットが作成されます。 詳細については、「バケットの作成」をご参照ください。
  • CSVファイルがOSSバケットにアップロードされます。 詳細については、「オブジェクトのアップロード」をご参照ください。

メリット

Log ServiceをOSSバケットに関連付けてクエリと分析を実行すると、次のメリットが得られます。
  • 費用対効果: 更新頻度の低いデータをOSSバケットに保存すると、内部ネットワーク経由でデータを読み取ることができます。 この場合、ストレージサービスの料金のみを支払う必要があり、インターネットトラフィックの料金はかかりません。
  • O&Mワークロードの削減: すべてのデータを1つのストレージシステムに保存することなく、軽量な関連付け分析を実行できます。
  • 高効率: SQL文を使用して、数秒以内にデータを分析し、分析結果を表示できます。 よく照会される分析結果に基づいてグラフを作成することもできます。 次に、グラフをクリックして分析結果を表示できます。

手順

  1. Log Service コンソールにログインします。
  2. [プロジェクト] セクションで、表示するプロジェクト名をクリックします。
  3. [ログストレージ] > [Logstore] を選択します。 [Logstore] タブで、表示する Logstore をクリックします。
  4. 表示されたページで、検索ボックスにクエリステートメントを入力し、[検索と分析] をクリックします。
    次のSQL文を実行して、user_meta1という名前の仮想外部テーブルを作成し、そのテーブルをOSSオブジェクトuser.csvにマップします。 出力のresulttrueの場合、SQL文は正常に実行され、外部ストアが作成されます。
    * | テーブルuser_meta1 ( userid bigint、nick varchar、gender varchar、province varchar、gender varchar、age bigint) を (endpoint='oss-cn-hangzhou-internal.aliyuncs.com '、accesskey =' **************************** '、' ARkey='' **************************** '、'*****' userts'type '、')
    外部ストア
    SQL文で外部ストアの名前とテーブルスキーマを定義し、WITH句でOSSオブジェクトにアクセスするために必要な情報を定義します。 次の表は、各パラメーターの説明です。
    パラメーター説明
    外部ストア名外部ストアの名前。仮想外部テーブルの名前と同じです。 この例では、user_meta1を入力します。
    テーブルのスキーマ列名とデータ型を含む、仮想外部テーブルのプロパティ。 この例では、(userid bigint, nick varchar, gender varchar, province varchar, gender varchar,age bigint) と入力します。
    エンドポイントOSSの内部エンドポイント。 詳細については、「リージョンとエンドポイント」をご参照ください。
    accessidご利用中のアカウントの Access Key ID を設定します。 詳細については、「AccessKey ペア」をご参照ください。
    accesskeyご利用中のアカウントの Access Key secret を設定します。 詳細については、「AccessKey ペア」をご参照ください。
    バケットCSVオブジェクトが保存されているOSSバケット。
    オブジェクトCSVオブジェクトのパス。
    説明 objectsパラメーターの値は配列です。 アレイは、複数の要素を含むことができる。 各要素はOSSオブジェクトを表します。
    タイプ外部ストアのタイプ。 値をossに設定します。
  5. 外部ストアが作成されているかどうかを確認します。
    次のステートメントを実行します。 定義したテーブルコンテンツが返されると、外部ストアが作成されます。
    * | select * from user_meta1
    チェック結果
  6. 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 o n l.us erid = u.userid
    JOINクエリ

Log ServiceをOSSバケットに関連付ける方法のベストプラクティスの詳細については、「OSS 上のログとテーブルのクエリによるアソシエーション分析の実行」をご参照ください。