我们非常成功地使用bigquery,并且今天存储了大量的游戏事件(每天约1亿)。
然后每天处理这些事件,以便生成每日KPI。
现在我的问题......
我们正处于增加对AB测试的支持阶段。即我们将用户分成不同的组,以便能够比较不同版本的游戏的表现。
我们最初的方法是找到已加入某个组然后进行加入的所有用户。
但是现在我们在子选择中使用联合时会出错。
这个SQL有效......
SELECT STRFTIME_UTC_USEC(TIMESTAMP_TO_USEC(ts), "%Y-%m-%d") time, 4 as appId, locale, platform, "all" as version, COUNT(DISTINCT userId) as count
FROM (SELECT ts,userId,locale,eventId
FROM (
SELECT
ts,userId,locale,eventId
FROM
[analytics_davinci_gunnar.events_app4_v4_201312]
) a
INNER JOIN EACH (
SELECT userId
FROM
[analytics_davinci_gunnar.events_app4_v4_201312]
WHERE
eventId = 1600 and abName = 'foo' and abVersion = 0 AND abCase = 3
) b
ON a.userId = b.userId
)
WHERE DATE(ts) >= "2013-08-02" AND DATE(ts) <= "2014-01-28"
GROUP BY time, locale
ORDER BY time DESC, count DESC
使用联合的SQL失败。 查询失败 错误:**意外。请再试一次**。
SELECT STRFTIME_UTC_USEC(TIMESTAMP_TO_USEC(ts), "%Y-%m-%d") time, 4 as appId, locale, platform, "all" as version, COUNT(DISTINCT userId) as count
FROM (SELECT ts,userId,locale,eventId
FROM (
SELECT
ts,userId,locale,eventId
FROM
[analytics_davinci_gunnar.events_app4_v4_201311],
[analytics_davinci_gunnar.events_app4_v4_201312]
) a
INNER JOIN EACH (
SELECT userId
FROM
[analytics_davinci_gunnar.events_app4_v4_201312]
WHERE
eventId = 1600 and abName = 'foo' and abVersion = 0 AND abCase = 3
) b
ON a.userId = b.userId
)
WHERE DATE(ts) >= "2013-08-02" AND DATE(ts) <= "2014-01-28"
GROUP BY time, locale
ORDER BY time DESC, count DESC
答案 0 :(得分:0)
这是我们认为已修复的BigQuery中的错误。如果您仍然发现问题,请在https://code.google.com/p/google-bigquery/issues/list处提交新错误。