Как я могу сократить расходы на Google BigQuery? - PullRequest
0 голосов
/ 18 июня 2020

Я искал с помощью Google BigQuery в базе данных глобальных новостей GDELT. Я повторяю один и тот же поиск 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

1 Ответ

1 голос
/ 18 июня 2020

Самый простой способ сделать это без изменения журнала запросов c - заменить

V2locations like '%Gabon%'    

на

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

Примечание: рассматриваемый запрос находится в BigQuery Legacy SQL - очевидно, что я бы рекомендовал перейти на стандарт SQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...