如何使用 BigQuery 计算 GitHub 上的推送事件?
Posted
技术标签:
【中文标题】如何使用 BigQuery 计算 GitHub 上的推送事件?【英文标题】:How to count push events on GitHub using BigQuery? 【发布时间】:2015-05-04 21:19:04 【问题描述】:我正在尝试使用 BigQuery 上的公共 GitHub 数据集来计算事件 - 在本例中为 PushEvents - 在每个存储库的基础上随着时间的推移。
SELECT COUNT(*)
FROM [githubarchive:github.timeline]
WHERE type = 'PushEvent'
AND repository_name = "account/repo"
GROUP BY pushed_at
ORDER BY pushed_at DESC
基本上只检索指定 repo 和事件类型的计数,按日期分组计数并返回列表。 BigQuery 验证以下内容,但随后查询失败并显示:
Field 'pushed_at' not found.
据我从 GitHub 的 PushEvent documentation 得知,push_at 是一个可用字段。有人有正确执行的相关查询的示例吗?关于这里做错了什么有什么建议吗?
【问题讨论】:
【参考方案1】:该字段名为 repository_pushed_at,您可能还打算将其包含在 SELECT 列表中,即
SELECT repository_pushed_at, COUNT(*)
FROM [githubarchive:github.timeline]
WHERE type = 'PushEvent'
AND repository_name = "account/repo"
GROUP BY repository_pushed_at
ORDER BY repository_pushed_at DESC
【讨论】:
我确实做到了,谢谢!这给了我结果,但帐户/回购格式开始了。您知道如何指定帐户吗?是 repository_owner 还是类似的?更新:看起来确实是这样。感谢您的原始答案! 如果您对存在哪些字段感到好奇,可以在 bigquery.cloud.google.com/table/githubarchive:github.timeline 查看表架构。 太棒了,谢谢丹尼。一直在寻找,但没有成功。以上是关于如何使用 BigQuery 计算 GitHub 上的推送事件?的主要内容,如果未能解决你的问题,请参考以下文章