Abe*_*Abe 4 github github-api google-bigquery github-archive
我试图通过以下方式衡量编程语言的受欢迎程度:
方便的是,Github Archive提供了大量的Github数据,由BigQuery托管.唯一的问题是我没有在Github Archive中的各种事件类型的任何有效负载中看到"语言".
这是我一直在运行的BigQuery查询,试图查找Github Archive数据中是否可以填充语言以及在何处填充:
SELECT *
FROM [githubarchive:month.201612]
WHERE JSON_EXTRACT(payload, "$.repository.language") is null
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
有人可以提供一个洞察我是否能够以这种方式利用Github存档数据,以及我如何能够这样做?或者我还需要采取其他方法吗?我看到BigQuery上还有一个github_repos公共数据集,它确实有一些语言指标,但语言指标似乎一直都在.我希望最终获得某种月度指标(即,在给定月份中"活跃"回购,最流行的语言是什么).
任何建议表示赞赏!
使用BigQuery和GitHub Archive和GHTorrent -
要通过拉取请求获取语言,去年12月(复制粘贴自http://mads-hartmann.com/2015/02/05/github-archive.html):
SELECT COUNT(*) c, JSON_EXTRACT_SCALAR(payload, '$.pull_request.base.repo.language') lang
FROM [githubarchive:month.201612]
WHERE JSON_EXTRACT_SCALAR(payload, '$.pull_request.base.repo.language') IS NOT NULL
GROUP BY 2
ORDER BY 1 DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
要查找每个项目的星数:
SELECT COUNT(*) c, repo.name
FROM [githubarchive:month.201612]
WHERE type='WatchEvent'
GROUP BY 2
ORDER BY 1 DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
对于快速语言与字节视图,您可以使用GHTorrent:
SELECT language, SUM(bytes) bytes
FROM [ghtorrent-bq:ght.project_languages]
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10
Run Code Online (Sandbox Code Playgroud)
或者查看实际文件,请参阅BigQuery上GitHub的内容.
现在,您可以混合这些查询以获得所需的结果!
归档时间: |
|
查看次数: |
546 次 |
最近记录: |