コンテンツにスキップ

データエクスポート

データエクスポートの紹介

これは、Hive Analyticsから毎時ログデータを抽出し、クラウドストレージに転送するサービスです。

データエクスポートによって生成されたデータは、必要に応じて分析に使用できます。生データとして直接データベースを構築するか、必要な形式に処理することができます。

Hive Analyticsはファイル変換とデータ転送を提供していますが、クラウドストレージには利用しているクラウドプロバイダーへの登録が必要です。

データエクスポートロジック

 

毎時、BigQueryテーブルはデータエクスポートサイクルに従ってファイルに変換され、登録されたクラウドストレージにアップロードされます。

データエクスポートサービスの権限

  • データエクスポート機能を使用するには、すべてのゲームにアクセスするか、Hiveアカウントを所有している必要があります。
    • データはテーブル(ログ)によって配信されるため、ゲームごとの分割送信は不可能です。

データエクスポートデータ基準

  • 選択したテーブルデータを検索し、ファイルをクラウドストレージにアップロードします。
  • データはUTCに基づく1時間ごとの送信サイクルを使用して抽出されます。 E.g.) 2023年9月1日 00:00:00 - 00:59:59 (UTC) のデータを2023年9月1日 1:00 (UTC) に抽出します。
    • 日時列のパーティショニング基準は、ビュー日から1日前に設定されています。 E.g.) 2023年9月1日 00:00:00から00:59:59 (UTC) のデータを抽出する場合、2023年8月30日 00:00:00です。
      • 日時の値がクエリ時間から1日前よりも小さい場合、エクスポートデータから除外されます。
  • データはBig Queryに入力された時間に従って検索されます。
    • bigqueryRegistTimestamp列の基準
    • データ抽出サンプルクエリ
SELECT *
FROM bigquery_table
WHERE bigqueryRegistTimestamp BETWEEN '2023-09-01 00:00:00' and '2023-09-01 00:59:59'
and datetime >= '2023-08-31 00:00:00'

データエクスポート設定

ログを選択

  • 抽出するテーブル(ログ)を選択します。
    • テーブル名の一部を入力することで検索して選択できます。
    • 最大で10個のテーブルを選択できます。

ストレージを選択

  • データを保存するためにクラウドストレージを使用する必要があります。
  • サポートされているクラウド
    • AWS S3
    • GCP Google Cloud Storage

場所 (バケット名)

  • ストレージのバケット名を入力してください。
  • 例:)
    • AWS S3バケット名がs3://s3_bucket_nameの場合、
      • 「s3_bucket_name」のみを入力してください。
    • Google Cloud Storageバケット名がgs://google_bucket_nameの場合、
      • 「google_bucket_name」のみを入力してください。

データ型

  • データ型は2つあります。
  • 提供されるデータ型
    • CSV
    • JSON
  • すべてのファイルはUTF-8でエンコードされています。

ファイルアップロードサイクル

  • 毎時範囲からデータが抽出され、毎時アップロードされます。
  • 抽出のための時間はbigqueryRegistTimestamp列の値に基づいています。(UTCに基づく)
    • 例)15:00(UTC)にデータの抽出とアップロードを開始します。
      • bigqueryRegistTimestamp列には05:00:00から05:59:59までのデータがあります。
    • 完了時間はファイルの数とアップロードサイズによって異なる場合があります。

認証キーを登録する

  • データをクラウドストレージにアップロードするには、許可が必要です。
  • データストレージの権限を持つ認証キーまたは認証キーファイルを登録する必要があります。
  • 認証キーの登録技術はクラウドサービスによって異なります。
      • S3 - ACCESS_KEY、ACCESS_SECRET_KEY 認証値を登録
      • GCS - 認証キーファイルを登録

クラウドストレージ

GCP - Google Cloud Storage

  • データをGoogle Cloudにエクスポートするには、以下の設定が必要です。

    1. Google Cloud Consoleページに移動し、Cloud Storageを選択します。
    2. データエクスポート専用のバケットを作成します。
      1. 一度設定すると、バケット名は変更できません。必要な場合は、古いバケットを削除して新しいバケットを作成してください。
      2. データエクスポート専用のバケットを作成することをお勧めします。
    3. データエクスポートを有効にするには、サービスキーを作成し、バケットに書き込み権限を付与します。
      1. コンソールページからIAM & Admin → サービスアカウントを選択します。
      2. 新しいアカウントを設定するには、サービスアカウントを作成をクリックします。
        1. アカウントに希望の名前に一致するIDを付けることができます。
          1. 例) hive_data_transfer_account@projectId.iam.gserviceaccount.com
        2. アカウントを作成した後、キーのタブに移動し、サービスのキーを生成します。
          1. キーの追加 → 新しいキーを作成からJSON形式のキーを作成します。
          2. 作成したキーのファイルをダウンロードした後、安全に保管してください。
      3. 次に、Cloud Storageに戻り、作成したバケットの権限タブに移動します。
        1. 権限タブで、新しく作成したサービスアカウントIDを「アクセスを付与」→「主要メンバーを追加」に入力します。
        2. 役割の割り当てで、2つの権限を確認します: Cloud Storage → ストレージオブジェクト作成者およびストレージオブジェクトビューワー、その後「OK」をクリックします。
    4. すべての設定が完了したら、Hive Analyticsのデータエクスポート設定ページに移動し、サービスのキーのファイルを登録します。

AWS - S3

  • AWSにデータをエクスポートするには、以下の設定が必要です。

    1. AWSコンソールでストレージ → S3に移動します。
    2. データエクスポート用のバケットを作成します。
      1. 設定後、バケット名は変更できません。必要な場合は、古いバケットを削除して新しいものを作成してください。
      2. データエクスポート専用のバケットを作成することをお勧めします。
    3. データエクスポート用のバケットを作成します。
      1. このユーザーはデータエクスポート専用のスタンドアロンアカウントとしてのみ使用するべきです。新しいIAMユーザーを作成します。
    4. 作成したアカウントのアクセスキーを作成します。関連情報はIAMユーザーのアクセスキー管理 - アクセスキーの作成で確認できます。
      1. アクセスキーは安全な場所に保管してください。
    5. 作成したアカウントにインラインポリシーを追加します。
      1. ユーザーグループ(コンソール)にインラインポリシーを含めるには、ポリシー作成のトピックに従って手順を進めます。
      2. ポリシーを設定するには、JSONタブを選択し、以下に示すJSONコードを貼り付けます。

        1. YOUR-BUCKET-NAME-HEREフィールドには、あなたが設定したバケットの名前が含まれています。
          {
            "Version": "2012-10-17",
            "Statement": [
              {
                "Effect": "Allow",
                "Action": ["s3:GetBucketLocation", "s3:ListBucket"],
                "Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME-HERE"]
              },
              {
                "Effect": "Allow",
                "Action": ["s3:PutObject"],
                "Resource": ["arn:aws:s3:::YOUR-BUCKET-NAME-HERE/*"]
              }
            ]
          }
    6. すべてが完了したら、アーカイブされたアクセスキーをHiveコンソールのデータエクスポートオプションに追加します。

ファイルストレージフォーマット

データストレージディレクトリ構造

  • 一般的なファイル形式
    • withhive/data_export/Build_Type/YYYY/MM/DD/TableName/TableName_YYYY_MM_DD_UUID.fileExtension
      • ビルドタイプ: サンドボックスとライブの2つの可能な値があります。サンドボックスに設定すると、サンドボックスとして保存されます。
      • YYYY/MM/DD : データが抽出される標準の年/月/日です。(UTCに基づく)
      • UUID : 重複ファイル名による上書きを防ぐためのランダムな値です。
      • ファイル拡張子: 選択したファイルタイプに基づいて異なります。

ファイルタイプ 圧縮状況 最終ファイル名
json V withhive/data_export/BuildType/YYYY/MM/DD/TableName/TableName_YYYY_MM_DD_UUID.json.gzip
csv V withhive/data_export/BuildType/YYYY/MM/DD/TableName/TableName_YYYY_MM_DD_UUID.csv.gzip

ファイル拡張子

  • csv.gzip
    • これは、フィールドがカンマで区切られたデータを含むファイルです。
    • ファイルを圧縮する際に暗号化設定は使用できません。(サポートされていません)
  • json.gzip
    • これは、Javascriptオブジェクト構文で整理されたデータ文字を含むファイルです。
    • 行に分かれています。
    • gzipで圧縮されたjsonファイルです。
    • ファイルを圧縮する際に暗号化設定は使用できません。(サポートされていません)

送信制限通知

  • 最大テーブル数制限
    • 選択可能なテーブルの最大数: 10
  • テーブルごとのデータ抽出総容量制限
    • データを抽出する際に500Mbytesを超える場合: 転送から除外
      • 実際に転送されるデータは約15%の圧縮ファイルです。