利用GitHub大数据查询接口统计分析最流行的代码规范

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 利用GitHub大数据查询接口统计分析最流行的代码规范

我们翻译了最流行的代码规范系列文章,涵盖了以下主流编程语言:

这些代码规范是sideeffect.kr通过分析GitHub上托管的开源代码得出的。sideeffect.kr将用于统计分析的代码开源了。

image.png

安装

npm install

bower install

然后将github token保存为github.json文件,置于.tokens目录下。


依赖

popularconvention基于以下技术构建:

  • Node.js
  • CoffeeScript
  • MongoDB


GitHub公共数据

GitHub上每天都会有大量的活动,包括报告bug、推送代码、发起合并请求,等等。sideeffect.kr就是通过查询GitHub的公共数据统计分析流行的代码规范的。

GitHub以Google BigQuery的形式提供公共数据的查询接口。你可以使用Google BigQuery语句来查询这些数据,例如,以下代码会找出推送数最多的100个Ruby仓库:

SELECT repository_name, count(repository_name) as pushes, repository_description, repository_url

FROM [githubarchive:github.timeline]

WHEREtype="PushEvent"

   AND repository_language="Ruby"

   AND PARSE_UTC_USEC(created_at) >= PARSE_UTC_USEC('2012-04-01 00:00:00')

GROUPBY repository_name, repository_description, repository_url

ORDERBY pushes DESC

LIMIT100

利用Google BigQuery,弹指之间查询GitHub的整个数据集。如果你不需要实时查询,那么你也可以使用GitHub Archive提供的按小时打包的数据。(自2011-02-12起)例如:

  1. April 11, 2012, 3PM UTC

wgethttp://data.githubarchive.org/2012-04-11-15.json.gz

  1. April 11, 2012

wgethttp://data.githubarchive.org/2012-04-11-{0..23}.json.gz

  1. April 2012

wgethttp://data.githubarchive.org/2012-04-{01..31}-{0..23}.json.gz

数据格式为JSON,你可以用你惯用的语言来处理。下面是一个Ruby的例子:

require'open-uri'

require'zlib'

require'yajl'

gz = open('http://data.githubarchive.org/2012-03-11-12.json.gz')

js = Zlib::GzipReader.new(gz).read

Yajl::Parser.parse(js) do |event|

 print event

end

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
3月前
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
|
6月前
|
SQL 大数据 数据挖掘
玩转大数据:从零开始掌握SQL查询基础
玩转大数据:从零开始掌握SQL查询基础
254 35
|
7月前
|
SQL 分布式计算 数据挖掘
阿里云 MaxCompute MaxQA 开启公测,公测可申请 100CU 计算资源解锁近实时高效查询体验
阿里云云原生大数据计算服务 MaxCompute 推出 MaxQA(原 MCQA2.0)查询加速功能,在独享的查询加速资源池的基础上,对管控链路、查询优化器、执行引擎、存储引擎以及缓存机制等多个环节进行全面优化,显著减少了查询响应时间,适用于 BI 场景、交互式分析以及近实时数仓等对延迟要求高且稳定的场景。现正式开启公测,公测期间可申请100CU(价值15000元)计算资源用于测试,欢迎广大开发者及企业用户参与,解锁高效查询体验!
阿里云 MaxCompute MaxQA 开启公测,公测可申请 100CU 计算资源解锁近实时高效查询体验
|
9月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
312 2
|
10月前
|
负载均衡 大数据
大数据散列分区查询频率
大数据散列分区查询频率
90 5
|
10月前
|
存储 大数据 数据管理
大数据分区提高查询性能
大数据分区提高查询性能
253 2
|
10月前
|
存储 负载均衡 大数据
大数据水平分区提高查询性能
【11月更文挑战第2天】
167 4
|
存储 分布式计算 安全
MaxCompute Bloomfilter index 在蚂蚁安全溯源场景大规模点查询的最佳实践
MaxCompute 在11月最新版本中全新上线了 Bloomfilter index 能力,针对大规模数据点查场景,支持更细粒度的数据裁剪,减少查询过程中不必要的数据扫描,从而提高整体的查询效率和性能。
|
11月前
|
存储 JSON 监控
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
大数据-167 ELK Elasticsearch 详细介绍 特点 分片 查询
424 4
|
关系型数据库 MySQL 分布式数据库
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
PolarDB 并行查询问题之大数据量的实时分析查询挑战如何解决
126 2

热门文章

最新文章