首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于GDELT数据库的GCP项目存在的问题

基于GDELT数据库的GCP项目存在的问题
EN

Stack Overflow用户
提问于 2021-06-23 21:52:23
回答 1查看 65关注 0票数 0

在GCP中使用"GDELT“数据库进行编程时,我遇到了一个问题,希望您能帮助我解决这个问题。

我想编写一个代码,数据库将检查在以色列和阿拉伯国家签署“亚伯拉罕协定”的日子里,媒体与谁打交道最多的人。

代码语言:javascript
复制
SELECT
  V2Persons,
  COUNT(1) AS count
FROM (
  SELECT
    UNIQUE(REGEXP_REPLACE(SPLIT(V2Persons,';'), r',.*', ")) V2Persons
      FROM
        `gdelt-bq.gdeltv2.gkg_partitioned`
      WHERE
        DATE>20200914000000
        AND DATE < 20200916000000
        AND LOWER(AllNames) LIKE '%Abraham Accords%' )
    GROUP BY
      Persons
    ORDER BY
      2 DESC
    LIMIT
      300

你能告诉我代码的问题是什么以及如何解决吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-27 18:18:08

这里有许多问题,最简单的一步一步地调试,使用WITH语句并获取一些数据。

所以我把嵌套查询移到WITH子查询。没有唯一的功能,我已经删除了。然后,SPLIT函数返回一个数组,不能只调用数组上的REGEX函数,数组首先必须是UNNEST'ed。

代码语言:javascript
复制
WITH persons AS (
    SELECT SPLIT(gkg.V2Persons,';') pers_arr
      FROM
        `gdelt-bq.gdeltv2.gkg_partitioned` gkg
      WHERE
        DATE > 20200914000000 AND DATE < 20200916000000 AND
        LOWER(AllNames) LIKE '%abraham accord%'
)    
SELECT REGEXP_REPLACE(V2Persons, r',.*', '') V2Persons, COUNT(1) AS count 
FROM persons pers, UNNEST(pers.pers_arr) V2Persons
GROUP BY V2Persons
ORDER BY 2 DESC LIMIT 300;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68107415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档