SQLFlow介绍
SQLFlow是昨天蚂蚁金服开源的一个机器学习工具,主要是为了连接SQL引擎和AI引擎。
具体介绍请参考: 重磅!蚂蚁金服开源机器学习工具SQLFlow,技术架构独家解读
官网: sqlflow
安装
安装文档: installation
步骤:
1.把repo clone到本地
2.使用docker启动mysql并导入数据
文档: Running a MySQL Server Container with Test Data
cd example/datasets docker build -t sqlflow:data . |

build mysql镜像并启动
docker run –rm -d –name sqlflowdata \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD=root \ -e MYSQL_ROOT_HOST=% \ sqlflow:data |

进去镜像内并按照文档说明导入数据
这样,SQLFlow依赖的mysql环境和数据已经准备完成。
3.启动主程序
docker pull sqlflow/sqlflow:latest |
拉取镜像并启动

docker run –rm -it -p 8888:8888 sqlflow/sqlflow:latest \ bash -c “sqlflowserver –datasource=’mysql://root:root@tcp(host.docker.internal:3306)/?maxAllowedPacket=0′ & SQLFLOW_SERVER=localhost:50051 jupyter notebook –ip=0.0.0.0 –port=8888 –allow-root” |
从docker run的命令可以看到sqlflow中启动了一个jupyter
使用浏览器打开URL就得到一个jupyter,然后新建一个Python3 Notebook。
这样,我们的试用环境就算搭建完成了。
使用

在Jupyter中,代码中指定%%sqlflow+sql 才能使用sqlflow。

查询iris数据集

从iris训练集中查询数据训练一个分类器并保存为my_dnn_model
从SQL语句中可以都看到,可以使用SQL指定分类器的参数,还有训练数据的特征等。
训练完成,开始预测。
从上面的语句可以看到SQL引擎增加了适应AI的一些关键字来和AI引擎交互。
最后查询预测结果。
使用场景
目前SQL+AI的工具已有几个,包括Google的BigQueryML,SQLServer的AI扩展,还有国内个人开发者开发的MLSQL等等,处于最接近用户的层。
此类工具的主要应用场景大数据分析领域。加速数据导入导出,数据清洗,模型部署等这些工作,适合长期稳定的数据流服务。对一些熟悉SQL的分析师来说,降低了应用AI模型的难度。期待此类工具后面更好的发展。