AIS データウェアハウスでクエリを作成する
注釈:本資料はAI技術を用いて翻訳されています。
概要
AccelByte Intelligence Service (AIS) データウェアハウスは、リレーショナルデータの保存と管理のための中核的なハブとして機能し、効率的なストレージとシームレスなクエリのための包括的なソリューションを提供します。
この記事では、AIS データウェアハウスの使用方法を説明し、実際の適用例を示す詳細な例を提供します。
この記事では、AIS データウェアハウスから基本的なデータを取得する基礎のみを扱います。お客様の環境と運用ニーズに適したクエリを決定するために、クエリを探索し実験することをお勧めします。サポートやアドバイスが必要な場合は、AccelByte サポートチームにお問い合わせください。
前提条件
基本的なマニピュレータを使用したクエリの作成
このセクションでは、基本的なマニピュレータを使用して AIS でクエリを作成する方法について説明します。
特定のスタジオと名前空間によるクエリ
特定の名前空間からデータを取得するには、namespace_t テーブルと studio_t テーブルを組み合わせて、特定の名前空間とスタジオに基づいてデータを取得します。例:
SELECT
count(u.id) AS "Total User"
FROM
user_t AS u
INNER JOIN
namespace_t AS n ON n.id = u.namespace_id
INNER JOIN
studio_t AS s ON s.id = n.studio_id
WHERE
s.name = 'yourStudioName';
このクエリは、特定のスタジオに関連付けられたユーザーの集計数に関する貴重な洞察を提供します。
本番環境データと開発環境データの区別
本番環境データと開発環境データは、データウェアハウスに保存されます。本番環境データのみを取得するには、namespace_t テーブルの is_production 列を使用します。
SELECT
count(u.id) AS "Total Users"
FROM
user_t AS u
INNER JOIN
namespace_t AS n ON n.id = u.namespace_id
INNER JOIN
studio_t AS s ON s.id = n.studio_id
WHERE
n.is_production = TRUE AND s.name = 'yourStudioName';
このクエリは、スタジオの本番環境におけるユーザーの総数を提供します。is_production を FALSE に設定すると、開発環境データが表示されます。
データレイクまたはバケット名による取得
複数のデータレイクがあり、特定のデータレイクからデータを取得したい場合は、etl_justice_s3_t テーブルの bucket_name 列を使用します。
SELECT
count(u.id) AS "Total Users"
FROM
user_t AS u
INNER JOIN
namespace_t AS n ON n.id = u.namespace_id
INNER JOIN
etl_justice_s3_t AS ejst ON ejst.namespace_id = n.id
INNER JOIN
studio_t AS s ON s.id = n.studio_id
WHERE
s.name = 'yourStudioName' AND
is_production = TRUE AND
ejst.bucket_name = 'your-game-prod-bucket-name';
データ読み込み時刻の取得
すべてのデータは job_run_t テーブルに紐付けられており、このテーブルには AIS Clarity のジョブの詳細が保持されています。finish_ts 列を使用して、データがデータベースに挿入された時刻の情報を取得します。
SELECT
jr.finish_ts AS "Loaded at",
u.uid AS "User ID",
n.lname AS "Namespace",
s.name AS "Studio",
ejst.bucket_name AS "Bucket Source",
n.is_production AS "Is Production"
FROM user_t AS u
INNER JOIN job_run_t AS jr ON jr.id = u.job_run_id
INNER JOIN namespace_t AS n ON n.id = u.namespace_id
INNER JOIN etl_justice_s3_t AS ejst ON ejst.namespace_id = n.id
INNER JOIN studio_t AS s ON s.id = n.studio_id
WHERE s.name = 'yourStudioName'
LIMIT 10;
このクエリは、Loaded at、User ID、Namespace、Studio、Bucket Source、Is Production などの詳細情報を含む 10 行のユーザーデータを提供します。