BigQuery 表¶
概要¶
可以确认获得 BigQuery 访问权限后可查询的数据集和表的种类,以及各表的用途和主要列。
BigQuery 访问权限的申请方法和连接方法,请参考 BigQuery 设置。
| 数据集 | 说明 |
|---|---|
habq-storage.analytics_N_live | 正式环境数据。在正式环境中申请权限后即可查询 |
habq-storage.analytics_N_sandbox | 沙盒环境数据。在沙盒环境中申请权限后即可查询 |
Note
访问 BigQuery 时,只会显示已获得权限的数据集。无需另外确认 N 的值。
表列表¶
表根据用途分为事件表和服务表。
| 类型 | 说明 |
|---|---|
| 事件表 | 作为指标数据源的表以及隔离表。在分析或确认数据时直接查询的表 |
| 服务表 | 为构建事件表或支持控制台·分析功能而生成的表。无需直接查询,仅供参考 |
事件表¶
| 表 | 说明 |
|---|---|
t_raw_event_log | (指标数据源)集中存储所有事件日志的原始表 |
t_raw_event_log_rescue | 违反传输规则而无法存储到 t_raw_event_log 的日志按原样保存的隔离表 |
t_aggregation_index | (指标数据源)为单独提供累计指标而汇总的最终结果 |
服务表¶
服务表不是用于直接查询的表。为帮助理解数据的生成过程,仅供参考。
| 表 | 说明 |
|---|---|
t_aggregation_login_master | 用于构建 t_aggregation_index 的中间汇总表。记录每个登录用户(userId)首次出现的日期(用于汇总累计用户) |
t_aggregation_terms_master | 用于构建 t_aggregation_index 的中间汇总表。记录每个同意条款的设备(deviceId)首次出现的日期(用于汇总累计安装) |
t_aggregation_buyer_master | 用于构建 t_aggregation_index 的中间汇总表。记录每个付费用户(userId)首次出现的日期(用于汇总累计付费用户) |
t_aggregation_prerelease_revenue | 按日期·条件预先计算游戏正式上线日之前产生的收入的表(仅在有上线前收入时才有数据) |
tmp_aggregation_stg_* | 仅在汇总过程中存在的临时表(创建 1 天后自动删除) |
system_custom_event_user_state | 用于将数据反映到 t_raw_event_log 的中间汇总表。按用户·事件存储首次和最后一次发生的时间及属性 |
system_derived_event_* | 记录派生事件生成作业进度的内部处理表 |
meta_event | 拥有的事件列表 |
meta_event_dimension | 各事件的属性定义(属性名称、数据类型、来源) |
meta_event_dimension_value | 属性实际采集到的值(字符串类型为值列表,数字·时间类型为最小~最大范围) |
meta_event_latest_date | 各事件的最后数据日期 |
system_attribute_raw | 用于构建 meta_event_dimension_value 的原始属性列表。整理了 attributes JSON 中除管道生成的 hiveAttributes 以外的所有属性和值,以及各值的采集次数和首次·最后采集时间 |
segment_* / snapshot_* | 在控制台中创建的细分·快照结果({类型}_{编号}_{日期时间}_{随机值} 格式,每次都会创建新表) |
表详情¶
事件表¶
t_raw_event_log¶
存储游戏发送的所有事件日志的表。每一行表示“谁(userId)/ 在哪个设备上(deviceId)/ 在哪个游戏中(appIdGroup)/ 何时(dateTime)/ 以何种属性(attributes)/ 做了什么(eventName)”。
列结构和 attributes JSON 的详细属性,请参考 事件存储结构。
t_raw_event_log_rescue¶
将无法存储到 t_raw_event_log 的日志按原样保存的隔离表。拥有与 t_raw_event_log 相同的列,并额外包含原始字符串(rawData)、隔离原因(errorReason)和详细内容(errorStackTrace)。
- 仅在存在被隔离的日志时才会创建。
- 由于还需要保存无效值,
dateTime以 STRING 而非 TIMESTAMP 类型存储。 - 如果在
t_raw_event_log中看不到数据,请先确认此表。
隔离原因及解决方法,请参考 事件存储结构的数据隔离。
t_aggregation_index¶
为单独提供累计指标而汇总并存储原始日志的表。与 t_raw_event_log 一起作为指标的数据源。累计用户等统计唯一人数的指标,基于中间汇总表的结果进行存储。每一行表示“某个游戏 / 某个日期 / 某种期间类型 / 某个指标 / 某个条件”的一个值。
| 列 | 说明 | 示例 |
|---|---|---|
appIdGroup | 游戏标识符 | com.sample.test |
dateTime | 对象日期 | 2026-10-04 |
periodType | 期间类型。day(当天)、cumulative(整个期间累计) | day |
aggName | 指标组。agg_users(登录)、agg_sales(收入)、agg_terms(安装) | agg_sales |
dimKey | 条件轴。* 表示该轴的所有值 | country=*\|market=*\|serverId=* |
attributes | 存储实际指标值的 JSON(measure 下的各指标值) | measure.au, measure.revenue, measure.pu |
checksum | 用于识别行的哈希值 |
指标值不在列中,而是在 attributes JSON 中,因此请使用 JSON_VALUE 查询。
SELECT JSON_VALUE(attributes, '$.measure.revenue') AS revenue
FROM `habq-storage.analytics_N_live.t_aggregation_index`
WHERE aggName = 'agg_sales'
AND periodType = 'cumulative'
AND appIdGroup = 'com.sample.test' -- 实际使用的 appIdGroup
AND dimKey = 'country=*|market=*|serverId=*' -- 整体合计
AND DATE(dateTime) = '2026-10-04'
Warning
即使是同一日期·同一指标,也会根据 dimKey 存在“全部”“韩国”“韩国 × Google Play”等多行。查询整体合计时,请只查询所有轴均为 * 的那一行。如果将多行相加,会导致重复计算。
服务表¶
服务表仅供参考,无需直接查询。
t_aggregation_*_master¶
用于构建 t_aggregation_index 的中间汇总表,仅记录每个用户·设备首次出现的日期。用于汇总累计用户等无法按日期相加的唯一人数,汇总结果存储在 t_aggregation_index 中。
| 表 | 对象 | 指标 |
|---|---|---|
t_aggregation_login_master | 登录的用户(userId) | agg_users 累计用户 |
t_aggregation_terms_master | 同意条款的设备(deviceId) | agg_terms 累计安装 |
t_aggregation_buyer_master | 付费的用户(userId) | agg_sales 累计付费用户 |
| 列 | 说明 |
|---|---|
appIdGroup | 游戏标识符 |
userId / deviceId | 对象标识符 |
country, market (serverId) | 首次出现时的国家·市场(t_aggregation_buyer_master 还包含服务器) |
firstSeenDate / firstSeenAt | 首次出现日期 / 时间 |
updatedAt | 行最后更新的时间 |
Note
这些表只会添加新的用户·设备,不会删除。此外,汇总时间之后迟到的数据不会被反映。因此,基于这些表的累计指标可能与从原始日志重新计算的值不同。
system_custom_event_user_state¶
用于将数据反映到 t_raw_event_log 的中间汇总表。按用户·事件以一行存储首次和最后一次发生的时间及属性。
| 列 | 说明 |
|---|---|
userId | 基于账号的用户标识符 |
deviceId | 基于设备的用户标识符 |
appIdGroup | 游戏标识符 |
eventName | 事件名称 |
firstEventTime, firstAttributes | 首次发生的时间及当时的属性 |
lastEventTime, lastAttributes | 最后一次发生的时间及当时的属性 |
meta_event¶
拥有的事件列表。每一行表示一个事件。
| 列 | 说明 |
|---|---|
eventName | 事件名称 |
dataSource | 事件传入的路径(custom_server、custom_sdk 等) |
tableName | 存储事件数据的表名称 |
meta_event_dimension¶
各事件的属性定义。每一行表示事件的一个属性。
| 列 | 说明 |
|---|---|
eventName | 事件名称 |
dimensionName | 属性名称 |
dataType | 属性的数据类型 |
attributeSource | 属性存储的区域(hiveAttributes 或 eventAttributes) |
meta_event_dimension_value¶
属性实际采集到的值。字符串类型存储值列表,数字·时间类型存储最小~最大范围。
| 列 | 说明 |
|---|---|
key | 属性名称 |
value | 采集到的值(数字·时间类型为最小值·最大值) |
dataType | 属性的数据类型 |
valueType | 值的存储方式(值列表或最小~最大范围) |
meta_event_latest_date¶
各事件的最后数据日期。
| 列 | 说明 |
|---|---|
lastDataDate | 有数据的最后日期 |
sourceTable | 确认该日期的原始表 |
system_attribute_raw¶
用于构建 meta_event_dimension_value 的原始属性列表。整理了 attributes JSON 中除管道生成的 hiveAttributes 以外的所有属性和值。
| 列 | 说明 |
|---|---|
eventName, appIdGroup | 事件和游戏 |
key, value | 属性名称和采集到的值 |
dataType | 属性的数据类型 |
valueCount | 该值被采集的次数 |
firstTime, lastTime | 首次·最后采集时间 |
attributeSource | 属性存储的区域(hiveAttributes 或 eventAttributes) |
dataSource | 事件传入的路径 |
注意事项 & Tips¶
t_raw_event_log和t_aggregation_index基于dateTime按日分区。为降低查询费用,请同时指定日期条件。