从 GDELT 数据库计算事件(抗议)的数量
Counting number of events (protests) from GDELT database
我的目标是获取 2004 年至 2020 年间墨西哥每月报告的抗议活动数量。我正在使用 Google BigQuery 从 GDELT 数据库中获取此数据。
我的问题是,当 运行 在不同的 table 上进行相同的查询时,我得到了不同的结果。
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'
;
你能告诉我应该使用哪个 table 以及为什么查询结果各不相同吗?
根据 the GDELT documentation,gdeltv2
包含更多事件,并且是最近几年的更新。然而,他们可能还没有完成将其重新填充到 1979 年。
此查询仅显示存在于两个 table 中的 93563 个事件 ID 中的 20340 个,因此对于如此大的时间范围,您可以使用 2015 年之前的 v1 table 获得最佳结果,并且v2 table 从 2015 年开始。
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'
我的目标是获取 2004 年至 2020 年间墨西哥每月报告的抗议活动数量。我正在使用 Google BigQuery 从 GDELT 数据库中获取此数据。
我的问题是,当 运行 在不同的 table 上进行相同的查询时,我得到了不同的结果。
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'
;
你能告诉我应该使用哪个 table 以及为什么查询结果各不相同吗?
根据 the GDELT documentation,gdeltv2
包含更多事件,并且是最近几年的更新。然而,他们可能还没有完成将其重新填充到 1979 年。
此查询仅显示存在于两个 table 中的 93563 个事件 ID 中的 20340 个,因此对于如此大的时间范围,您可以使用 2015 年之前的 v1 table 获得最佳结果,并且v2 table 从 2015 年开始。
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'