google-bigquery - 如何降低 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
解决方案
在不更改查询逻辑的情况下执行此操作的最简单方法是替换
V2locations like '%Gabon%'
和
REGEXP_MATCH(V2locations, r'Gabon|Angola|Zimbabwe')
注意:有问题的查询在 BigQuery LegacySQL 中 - 所以显然我会建议迁移到标准 SQL