我就是一个 SQL Boy,你能拿我怎么样

大家好,我是你们的章鱼猫。

今天要分享的是一批项目,他们都是跟 SQL 有关的,但是跟数据库没有关系,是不是跟你预想的不太一样?

结构化查询语言 (Structured Query Language) 简称 SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

SQL 真的简单易懂,而且程序员人人都会,除此以外,比如运营、数据分析师等,其实都对 SQL 有研究,谁还不是一个 SQL Boy 呢。所以如果你开发了一款工具,他的交互是通过 SQL 来进行,那么这款工具对于大家来说,肯定是非常容易理解的。

接下来要分享的就是一系列通过 SQL 来操作不同资源、数据的工具。

SQL 与 Git

很明显这是一款通过 SQL 直接分析 Git 数据的工具。安装这款工具之后,你可以像使用数据库一样分析 Git 的提交数据,以下是部分查询例子。

image-20200712234416037

开源项目地址(这样的工具都找到了两个):https://github.com/src-d/gitbase 、 https://github.com/augmentable-dev/gitqlite

SQL 与 ElasticSearch

这个工具也是一样非常有意思,相比直接操作数据,这款工具是通过 SQL 生成等效的 ES 查询的 DSL,通过 DSL 就能直接通过 ES 查询到数据了。我们来看一个使用 DEMO。

image-20200712235016113

目前已经支持了如下功能:

image-20200712234910969

开源项目地址:https://github.com/cch123/elasticsql

SQL 与 机器学习

随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工作人员来说,依然存在着较大的门槛,对于他们来说 SQL 可能是他们的通用技能。

SQLFlow,一个可以通过 SQL 语法来训练机器学习模型的引擎,它的目标是连接 SQL 引擎与 TensorFlow、XGBoost 等机器学习框架。

开源项目地址:https://github.com/sql-machine-learning/sqlflow

好了,我想应该不止我分享的三个项目在这样使用 SQL,你都知道哪些呢?欢迎在文末留言分享。


更多精彩请扫码关注如下公众号。

Written on July 12, 2020