关于人工智能:OpenMLDB-Jupyter-Notebook快速搭建机器学习应用

39次阅读

共计 1961 个字符,预计需要花费 5 分钟才能阅读完成。

OpenMLDB + Jupyter Notebook:疾速搭建机器学习利用

1. 简介

OpenMLDB 是一个开源机器学习数据库,提供线上线下统一的生产级特色平台。Jupyter Notebook 提供了基于浏览器网页的数据计算、代码开发、文档编辑、代码执行以及后果展现等性能,是目前最风行和最易用的开发环境之一。本篇文章介绍 OpenMLDB 与 Notebook 的深度整合,充分利用了 OpenMLDB 弱小的性能个性和 Notebook 的便利性,从而打造一个快捷易用的机器学习开发环境。

2. 集成 SQL 魔法函数

Notebook 与 OpenMLDB 第一个集成点就是 SQL 魔法函数(magic function)。魔法函数是 Notebook 的拓展性能,通过注册魔法函数,用户能够在 Notebook cell 中间接执行命令,而不须要编写简单的 Python 代码,并且可定制输入款式。OpenMLDB 提供了一个规范的 SQL 魔法函数,用户能够在 Notebook 上间接编写和运行 OpenMLDB 反对的 SQL 语句,对应的语句就会提交到 OpenMLDB 执行,并且在 Notebook 中预览返回到后果。

2.1 注册 OpenMLDB SQL 魔法函数为了在 Notebook 中反对 OpenMLDB 魔法函数,首先须要通过如下形式进行注册:

`import openmldb
db = openmldb.dbapi.connect(‘demo_db’,’0.0.0.0:2181′,’/openmldb’)
openmldb.sql_magic.register(db)`

2.2 执行单行 SQL 语句

开发者能够应用提示符 % 来执行单行的 SQL 语句,如下图所示。
[图片]

2.3 执行多行 SQL 语句

开发者也能够用提示符 %%,书写多行的 SQL 语句,如下图所示。
[图片]
留神,目前尚不反对在一个 Notebook cell 外部同时执行多条 SQL 语句,须要离开在不同 cell 内执行。

2.4 魔法函数反对性能

OpenMLDB 提供的 SQL 魔法函数,可执行所有反对的 SQL 语法,包含应用 OpenMLDB 特有的离线模式,把简单的须要解决大数据 SQL 语句异步提交到离线执行引擎去执行,如下图所示。
[图片]
具体的 OpenMLDB 魔法函数应用办法,请参考 OpenMLDB 官网文档的 Magic function 介绍 https://openmldb.ai/docs/zh/m…。

3. Notebook 集成 OpenMLDB Python SDK

OpenMLDB 和 Notebook 整合的第二个性能点就是与 OpenMLDB Python SDK 的集成。Notebook 反对 Python 运行内核,因而能够通过 import 形式导入各种 Python 库应用,OpenMLDB 提供了性能残缺的 Python SDK,用于在 Notebook 内调用。OpenMLDB 不仅提供了基于 Python PEP249 规范的 DBAPI,也反对了 Python 业界支流的 SQLAlchemy 接口,只需一行代码就能够连贯已有的 OpenMLDB 集群。

3.1 应用 OpenMLDB DBAPI

应用 DBAPI 接口非常简单,对于集群版,只需指定 ZooKeeper 地址以及节点门路即可连贯,连贯胜利后会有对应的日志信息;对于单机版,能够通过 IP 和端口作为参数连贯单机版 OpenMLDB,如下所示。

`import openmldb.dbapi
db = openmldb.dbapi.connect(‘demo_db’,’0.0.0.0:2181′,’/openmldb’)`

连贯胜利后即能够在 Notebook 内调用 OpenMLDB Python SDK 的 DBAPI 接口进行开发,具体参见 https://openmldb.ai/docs/zh/m…。

3.2 应用 OpenMLDB SQLAlchemy

如果想应用 SQLAlchemy 也非常简单,对于集群版,通过 SQLAlchemy 库指定 OpenMLDB 的 URI 即可实现连贯;同样能够通过 IP 和端口作为参数连贯单机版 OpenMLDB 数据库,如下所示。

`import sqlalchemy as db
engine = db.create_engine(‘openmldb://demo_db?zk=127.0.0.1:2181&zkPath=/openmldb’)
connection = engine.connect()`

连贯胜利后,即能够通过 OpenMLDB Python SDK 的 SQLAlchemy 接口来进行开发,详见 https://openmldb.ai/docs/zh/m…。

4. 参考资料

  • OpenMLDB Python SDK: https://openmldb.ai/docs/zh/m…
  • OpenMLDB 应用文档:https://openmldb.ai/docs/zh/m…
正文完
 0