Google BigQueryを使用してGitHubデータから学ぶ
オープンソースの開発者たちは、毎日のように世界中で数百万のプロジェクトに貢献しています。コードの作成やレビュー、バグレポートの作成と議論、ドキュメントの更新など、その活動から生成されるデータは、様々な業界における興味深いトレンドを明らかにします。例えば、プログラミング言語の人気の推移や、欠陥率、貢献度の指標、特定のフレームワークやライブラリの人気などです。しかし、これらのトレンドを抽出するためにはデータを収集することが大きな課題となります。
GitHubデータの収集と分析
プロジェクトごとに独自の分散型ワークフローやコードリポジトリ、慣習が存在するため、データ収集は簡単ではありません。ある技術者は、自身のホストした数十のプロジェクトを通じて、GitHub上で公開されている260万以上のプロジェクトからの開発者活動を分析したいと考えていました。こうして生まれたのが「GitHub Archive」というプロジェクトです。
- GitHub Archiveは、公共のGitHubのタイムラインを記録し、それをアーカイブして、さらなる分析が容易にできるようにするプロジェクトです。
- 毎日、120,000以上の公共活動がアーカイブされ、新しいコミットやフォークイベント、チケットのオープンやクローズなど、詳細なメタデータとともに蓄積されていきます。
データを収集した後、そのデータを分析するためのツールが必要になります。そこで、この技術者が見つけたのが「Google BigQuery」です。
Google BigQueryの利点
BigQueryは、Googleが内部で使用しているDremelという人気のあるウェブスケールデータセット分析ツールに基づいており、膨大なデータセットを容易に分析することを可能にします。以下がその特徴です:
- **SQLに似た文法**を使って、数ギガバイトのデータを数秒で検索できます。
- テラバイト規模のデータセットにも対応しており、今後の成長にも十分な余裕があります。
- GitHubとBigQueryのチームの協力により、GitHubデータセットは公開されており、自由に分析できます。
実際の活用例:プログラミング言語の人気
実際の例として、最近の1ヶ月間にGitHubで最も人気のあるプログラミング言語について調べてみましょう。興味がある方は、BigQueryにサインアップし、githubarchive.orgの指示に従ってGitHubデータセットにアクセスしてください。
- 無料の**100GBのクエリクォータ**を利用して、さまざまな分析を行うことができます。
- 分析を通じて、**GitHubデータチャレンジ**の賞品を勝ち取るチャンスもあります。
最後に
要するに、Google BigQueryはGitHubデータを使用してトレンドを分析するための強力なツールです。データの収集やデータベースのスキーマについて心配する必要はなく、リアルタイムでクエリを実行することができます。データの海に飛び込んで、自分だけの洞察を得てみるのは非常に楽しい経験です!
技術者は、ウェブパフォーマンスエンジニアであり、オープンソースの支持者でもあります。彼のGitHubアカウントは「igrigorik」であり、ウェブパフォーマンスについてのブログも運営しています。