编辑:稍微整理一下查询。检查一天运行(相对于我需要的27)并运行查询。有27天的数据,它正试图处理5.67TB。这可能是问题吗?
错误运行的最新ID:
职位编号:ee-corporate:bquijob_3f47d425_1530e03af64
尝试通过UI和Bigrquery在BigQuery中运行查询时,我不断收到此错误消息。
查询失败
错误:发生内部错误,无法完成请求。
职位编号:ee-corporate:bquijob_6b9bac2e_1530dba312e
以下代码:
SELECT
CASE WHEN d.category_grouped IS NULL THEN 'N/A' ELSE d.category_grouped END AS category_grouped_cleaned,
COUNT(UNIQUE(msisdn_token)) AS users,
(SUM(up_link_data_bytes) + SUM(down_link_data_bytes))/1000000 AS tot_data_mb
FROM (
SELECT
request_domain, up_link_data_bytes, down_link_data_bytes, msisdn_token, timestamp
FROM (TABLE_DATE_RANGE([helpful-skyline-97216:WEBLOG_Staging.WEBLOG_], TIMESTAMP('20160101'), TIMESTAMP('20160127')))
WHERE SUBSTR(http_status_code,1,1) IN ('1',
'2',
'3')) a
LEFT JOIN EACH web_usage_201601.domain_to_cat_lookup_27JAN_with_groups d
ON
a.request_domain = d.request_domain
WHERE
DATE(timestamp) >= '2016-01-01'
AND DATE(timestamp) <= '2016-01-27'
GROUP EACH BY
1
我有什么问题吗?
答案 0 :(得分:1)
问题似乎来自UNIQUE() - 它返回包含太多元素的重复字段。可以改进错误,但是解决方法是使用显式GROUP BY,然后在其上运行COUNT。
答案 1 :(得分:0)
如果您对近似值没问题,也可以使用
COUNT(DISTINCT msisdn_token) AS users
或比默认值1000更高的近似参数,
COUNT(DISTINCT msisdn_token, 5000) AS users
GROUP BY是最常用的方法,但如果它们能满足您的需求,它们会更快。