首页 > 解决方案 > 如何降低 Google BigQuery 费用?

问题描述

我一直在 GDELT 全球新闻数据库中使用 Google BigQuery 进行搜索。我重复相同的搜索 54 次,只是更改了一个非洲国家的名称。

是否可以在同一个查询中包含所有 54 个搜索?据我了解计费,成本基于搜索的数据库的大小,而不是查询元素的数量。那是对的吗?

这是我对加蓬国家的查询示例,选择了出现 ICT 的主题。

SELECT theme, COUNT(*) as count
FROM (
select UNIQUE(REGEXP_REPLACE(SPLIT(V2locations,';'), r',.*', '')) theme
  from [gdelt-bq:gdeltv2.gkg]
where DATE>20150302000000 and DATE < 20200609000000 and V2locations like '%Gabon%'
AND V2themes like '%WB_133_INFORMATION_AND_COMMUNICATION_TECHNOLOGIES%'    
)
group by theme
ORDER BY 2 DESC
LIMIT 300

标签: google-bigquery

解决方案


在不更改查询逻辑的情况下执行此操作的最简单方法是替换

V2locations like '%Gabon%'    

REGEXP_MATCH(V2locations, r'Gabon|Angola|Zimbabwe')   

注意:有问题的查询在 BigQuery LegacySQL 中 - 所以显然我会建议迁移到标准 SQL


推荐阅读