我的目标是获得2004年至2020年期间墨西哥每月报告的抗议活动数量。我正在使用Google BigQuery从GDELT数据库中获取这些数据。
我的问题是,当在不同的表上运行相同的查询时,我会得到不同的结果。
select
GlobalEventID
,MonthYear
,ActionGeo_Long
,ActionGeo_Lat
from
gdelt-bq.full.events_partitioned -- Returns 34650 records
--gdelt-bq.gdeltv2.events_partitioned -- Returns 93551 records
where
_PARTITIONTIME >= TIMESTAMP('2004-01-01')
and _PARTITIONTIME <= TIMESTAMP('2020-12-31')
and EventRootCode = '14'
and ActionGeo_CountryCode = 'MX'
;您能告诉我应该使用哪个表吗?为什么查询结果不同?
发布于 2021-08-23 07:23:14
根据the GDELT documentation的说法,gdeltv2包含更多的事件,并且近年来更是最新的。然而,他们可能还没有完成人口回填到1979年。
此查询显示这两个表中仅存在93563个事件ID中的20340,因此对于如此大的时间范围,您可以使用2015年之前的v1表和2015年以后的v2表来获得最佳结果。
SELECT COUNT(*)
FROM gdelt-bq.gdeltv2.events_partitioned g2
JOIN gdelt-bq.full.events_partitioned g1 ON g1.GlobalEventID = g2.GlobalEventID
WHERE g2._PARTITIONTIME >= TIMESTAMP('2004-01-01')
AND g2._PARTITIONTIME <= TIMESTAMP('2020-12-31')
AND g2.EventRootCode = '14'
AND g2.ActionGeo_CountryCode = 'MX'
AND g1._PARTITIONTIME >= TIMESTAMP('2004-01-01')
AND g1._PARTITIONTIME <= TIMESTAMP('2020-12-31')
AND g1.EventRootCode = '14'
AND g1.ActionGeo_CountryCode = 'MX'https://stackoverflow.com/questions/68887225
复制相似问题