gpt4 book ai didi

github - 如何通过 Github Archive 数据衡量语言流行度?

转载 作者:行者123 更新时间:2023-12-04 22:56:57 26 4
gpt4 key购买 nike

我正在尝试通过以下方式衡量编程语言的流行度:

  • repo 中的星数与...
  • repo 中使用的编程语言和...
  • 每种语言的代码总字节数(认识到某些语言或多/少冗长)

  • 方便的是,Github Archive 提供了大量的 Github 数据,并由 BigQuery 托管。唯一的问题是我在 Github Archive 中的各种事件类型的任何有效负载中都看不到可用的“语言”。

    这是我一直在运行的 BigQuery 查询,试图找出是否以及在哪里可以在 Github 存档数据中填充语言:
    SELECT *
    FROM [githubarchive:month.201612]
    WHERE JSON_EXTRACT(payload, "$.repository.language") is null
    LIMIT 100

    有人可以提供有关我是否能够以这种方式利用 Github Archive 数据的见解,以及我该如何去做?还是我需要采用其他方法?我看到 BigQuery 上还有一个 github_repos 公共(public)数据集,它确实有一些语言指标,但语言指标似乎一直都结束了。我希望最终获得某种月度指标(即,给定月份的“活跃” repo ,最流行的语言是什么)。

    任何建议表示赞赏!

    最佳答案

    使用 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

    http://i.imgur.com/PmDxoEX.png

    要查找每个项目的星数:
    SELECT COUNT(*) c, repo.name 
    FROM [githubarchive:month.201612]
    WHERE type='WatchEvent'
    GROUP BY 2
    ORDER BY 1 DESC
    LIMIT 10

    http://i.imgur.com/yXDHUlB.png

    对于快速语言与字节 View ,您可以使用 GHTorrent:
    SELECT language, SUM(bytes) bytes
    FROM [ghtorrent-bq:ght.project_languages]
    GROUP BY 1
    ORDER BY 2 DESC
    LIMIT 10

    http://i.imgur.com/8RvrVBA.png

    或查看实际文件,参见 contents of GitHub on BigQuery .

    现在您可以混合这些查询以获得您想要的结果!

    关于github - 如何通过 Github Archive 数据衡量语言流行度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475499/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com