open-github
收藏资源简介:
OpenGitHub 数据集包含了 GitHub 上所有的公共事件,如推送、拉取请求、问题、星标、复刻、代码审查、发布和讨论等。该数据集覆盖了从 2011 年 2 月 12 日到 2015 年 1 月 3 日的 1,300 天,总计 223,133,886 个事件,分为 16 个结构化的 Parquet 表格。数据来源于 GH Archive,并通过 GitHub Events API 实时更新。数据集适用于文本生成、文本分类和特征提取等任务,支持多种语言(主要是英语)。数据规模在 1 亿到 10 亿之间,提供了详细的字段说明和使用示例,方便用户通过 Python 的 `datasets` 库或 DuckDB 进行查询和处理。
The OpenGitHub dataset contains all public events on GitHub, including pushes, pull requests, issues, stars, forks, code reviews, releases, discussions and more. Spanning 1,300 days from February 12, 2011 to January 3, 2015, it totals 223,133,886 events and is organized into 16 structured Parquet tables. The data is sourced from GH Archive and updated in real time via the GitHub Events API. This dataset is applicable to tasks such as text generation, text classification and feature extraction, and supports multiple languages with English as the primary language. It has a data volume ranging from 100 million to 1 billion, and provides detailed field descriptions and usage examples, allowing users to query and process the dataset through Python's `datasets` library or DuckDB.
OpenGitHub 数据集概述
数据集基本信息
- 数据集名称: OpenGitHub
- 许可证: Open Data Commons Attribution License (ODC-By) v1.0
- 任务类别: 文本生成、文本分类、特征提取
- 语言: 英语、多语言
- 规模: 1亿 < n < 10亿条数据
- 标签: github, events, open-source, gharchive, code, software-engineering, social
数据内容与范围
- 数据来源: 包含GitHub上的所有公开事件,涵盖推送、拉取请求、议题、星标、复刻、代码审查、发布和讨论。
- 时间范围: 历史数据从2011年2月12日到2015年1月3日(共1300天)。同时提供实时数据流。
- 数据总量: 223,133,886个事件,分布在16个完全结构化的Parquet表中。
- 数据格式: 原始GH Archive NDJSON(69.9 GB)已被解析、扁平化并压缩为Zstd压缩的Parquet格式(12.3 GB)。所有嵌套的JSON字段都已展开为类型化列。
数据配置与结构
数据集包含以下配置(表),每个配置对应一个数据文件路径:
pushes:data/pushes/**/*.parquetissues:data/issues/**/*.parquetissue_comments:data/issue_comments/**/*.parquetpull_requests:data/pull_requests/**/*.parquetpr_reviews:data/pr_reviews/**/*.parquetpr_review_comments:data/pr_review_comments/**/*.parquetstars:data/stars/**/*.parquetforks:data/forks/**/*.parquetcreates:data/creates/**/*.parquetdeletes:data/deletes/**/*.parquetreleases:data/releases/**/*.parquetcommit_comments:data/commit_comments/**/*.parquetwiki_pages:data/wiki_pages/**/*.parquetmembers:data/members/**/*.parquetpublic_events:data/public_events/**/*.parquetdiscussions:data/discussions/**/*.parquetlive:today/raw/**/*.parquet
数据按 data/TABLE/YYYY/MM/DD.parquet 分区。
实时数据
- 采集方式: 通过自动化实时管道,每隔几秒直接从GitHub Events API获取新事件,并提交为5分钟的Parquet块。
- 存储路径:
today/raw/YYYY/MM/DD/HHMM.parquet - 数据示例: 以2026年3月28日为例,当天捕获了3,059,807个事件,分布在3862个块中。
- 实时事件模式:
event_id: 字符串,唯一的GitHub事件ID。event_type: 字符串,事件类型(PushEvent, IssuesEvent等)。created_at: 时间戳,事件发生时间。actor_id: int64,用户ID。actor_login: 字符串,用户名。repo_id: int64,仓库ID。repo_name: 字符串,完整的仓库名称(所有者/仓库)。org_id: int64,组织ID(个人仓库为0)。org_login: 字符串,组织登录名。action: 字符串,事件动作(打开、关闭、开始等)。number: int32,议题/PR编号。payload_json: 字符串,完整的JSON格式事件负载。
年度事件统计
| 年份 | 天数 | 事件数 | 平均每日事件数 | 原始输入大小 | Parquet输出大小 |
|---|---|---|---|---|---|
| 2011 | 323 | 18,032,583 | 55,828 | 3.5 GB | 76.6 MB |
| 2012 | 366 | 42,537,517 | 116,222 | 11.5 GB | 161.5 MB |
| 2013 | 353 | 76,154,264 | 215,734 | 23.2 GB | 4.1 GB |
| 2014 | 256 | 85,897,773 | 335,538 | 31.6 GB | 7.9 GB |
| 2015 | 2 | 511,749 | 255,874 | 166.6 MB | 85.1 MB |
主要事件类型年度分布
- 推送事件: 最常见的类型,约占GitHub活动的一半。每个推送可包含多次提交。
- 议题事件: 跟踪完整生命周期:打开、关闭、重新打开、标记标签、分配等。
- 拉取请求事件: 涵盖完整的审查周期:打开、合并、关闭、请求审查和同步(推送新提交)。
- 星标事件: 反映社区兴趣和发现。星标模式常与Hacker News、Reddit或Twitter帖子相关。
通用事件模式(所有16个表共享)
每个数据行都包含以下列:
event_id: 字符串,唯一的GitHub事件ID。event_type: 字符串,GitHub事件类型(例如PushEvent、IssuesEvent)。created_at: 字符串,ISO 8601时间戳。actor_id: int64,操作者的用户ID。actor_login: 字符串,操作者的用户名。repo_id: int64,仓库ID。repo_name: 字符串,完整的仓库名称(所有者/仓库)。org_id: int64,组织ID(个人仓库为0)。org_login: 字符串,组织登录名。
各表特定负载字段摘要
pushes 表 (PushEvent)
- 关键字段:
push_id,ref,head,before,size,distinct_size,commits(包含SHA、消息、作者姓名、作者邮箱、是否独立、URL的列表)。
issues 表 (IssuesEvent)
- 关键字段:
action,issue_id,issue_number,title,body,state,locked,comments_count,user_login,user_id,assignee_login,milestone_title,labels,assignees,reactions_total,issue_created_at,issue_closed_at。
issue_comments 表 (IssueCommentEvent)
- 关键字段:
action,comment_id,comment_body,comment_user_login,comment_created_at,issue_number,issue_title,issue_state,reactions_total。
pull_requests 表 (PullRequestEvent)
- 关键字段:
action,pr_id,pr_number,title,body,state,merged,draft,commits_count,additions,deletions,changed_files,user_login,head_ref,head_sha,base_ref,head_repo_full_name,base_repo_full_name,merged_by_login,pr_created_at,pr_merged_at,labels,requested_reviewers,reactions_total。
pr_reviews 表 (PullRequestReviewEvent)
- 关键字段:
action,review_id,review_state,review_body,review_submitted_at,review_user_login,review_commit_id,pr_id,pr_number,pr_title。
pr_review_comments 表 (PullRequestReviewCommentEvent)
- 关键字段:
action,comment_id,comment_body,diff_hunk,path,line,side,in_reply_to_id,comment_user_login,comment_created_at,pr_number,reactions_total。
stars 表 (WatchEvent)
- 关键字段: 包含谁在何时星标了哪个仓库的信息。




